Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Многострочный текст в ListView  (Прочитано 17630 раз)
0 Пользователей и 1 Гость смотрят эту тему.
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« : 19-07-2007 11:59 » 

Хочу занести в ячейку ListView (свойство View=Details) многострочный текст. Разделители \r\n не помогают. Что посоветуете?
А лучше было бы вообще в ячейке создать подстроки, т.е. есть строка, вносим значения в ячейки одной строки, а в какой-то создаем еще подстроки. Надеюсь вы меня поняли. Можно ли так?
Записан

ещё один вопрос ...
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 19-07-2007 14:54 » 

Если я правильно понял тебе нужна структура tree-list? Что-то типа такого

http://www.codeguru.com/cpp/controls/treeview/classes/article.php/c13167/

Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 19-07-2007 15:31 » 

Джон, не грузится у меня эта страничка. ListView ввиде таблицы мне вроде нравится и в принципе не надо расчерчивать ячейку, просто надо в нескольких ячейках отобразить слова несколькими строками. пока все в одну строку и там, где я ставлю \r\n, там, сами понимаете, Улыбаюсь  квадратики нарисованы Жаль.
Там реален многострочный текст вообще?
Записан

ещё один вопрос ...
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 19-07-2007 16:46 » 

Это больше про подстроки с подстроками а не \r\n


* 123.gif (19.18 Кб - загружено 4722 раз.)
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #4 : 19-07-2007 16:48 » 

А ну и ещё одно забыл пример не в дот нете. Эт я для наглядности
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 19-07-2007 19:05 » 

Конечно интересно, но это не совсем подходит в данном случае. Тут просто надо слова в несколько строк разместить в одной ячейке, если это возможно. Если невозможно, то тогда уже альтернативные варианты рассматривать буду
Записан

ещё один вопрос ...
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #6 : 19-07-2007 19:13 » 

Со стандартным вряд ли получится. А как насчёт grid? Насколько я знаю дот нет с ним неплохо обращается? ХОтя если только нужно отобразить таблицу (без наворотов), то наверное легче самому сделать. ИМХО
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 21-08-2007 07:02 » 

Так, по совету Джона я обратился в сторону DataGridView. Но ячейка со стилем столбца  DataGridViewTextBoxColumn не отображает многострочный текст (все в одну строку только). Но!!! В DataGridView можно затолкать ячейку и своего (пользовательского типа), что изложено в статье РСДН
http://www.rsdn.ru/article/dotnet/DataGridView20part2.xml под заголовком "Размещение пользовательского UserControla". Эта статья дополнена кодом-примером, который достоин изучения. Но почти моментально возник вопрос. В статье описан случай (а также много подобных примеров было встречено в Инете ) когда контролы отображаются в ячейке только в режиме редактирования, при режиме отображения  вся информация в ячейке представлена в текстовом виде. При этом класс-ячейка унаследован от DataGridViewTextBoxCell (что в примере, что у большинство тех, кто занимался этим же). У меня возникает в принципе сейчас два вопроса.
Первый. Возможно ли добиться того, чтобы контролы отображались не только при редактировании ячейки, но и при ее отображении?  (Самому-то мне кажется, что это вполне возможно).
Второй. Если первое возможно, то каким образом этого добиваться? Переопределять метод Paint класса-потомка   DataGridViewTextBoxCell или создать класс-потомок от DataGridViewCell и разворачиваться от него. При послденем решении останавливает то, что я не представляю минимальный набор переопределяемых методов, а переопределять все не воодушевляет меня. Больше нравится конечно переопределить метод Paint потомка от DataGridViewTextBoxCell, но не пойму что там можно сделать, чтобы отобразить (затолкать туда) контрол. У ячейки  нет свойства Controls (как у форм), чтобы добавить туда контрол, а тупое создание контрола в методе Paint и задание свойству Show значения истины ни к чему естественно не привело.
Вроде ничем не забыл больше поделиться Улыбаюсь. Прошу теперь вас поделиться своими мыслями Улыбаюсь.
« Последнее редактирование: 21-08-2007 07:03 от nikedeforest » Записан

ещё один вопрос ...
MAPAT
Гость
« Ответ #8 : 09-03-2008 06:05 » 

nikedeforest, А если не отступать от темы и продолжить с ListView...
Вот например мне нужно из инициализированого n на n массива записать в лист вью значения где его свойства View=Details...
Как это сделать....Не понял?
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #9 : 09-03-2008 09:23 » 

MAPAT, для начала (вобще всего) тебе надо установить MSDN либо локально, либо сделать закладку на сайт МС.

Затем прочитать внимательно о функциях объекта ListView.

Это всё справочная элементарная теория, которую, раз уж ты решил работать с этим объектом, "надо знать в лицо" (с).
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
MAPAT
Гость
« Ответ #10 : 09-03-2008 14:28 » 

Джон, спасибо за ответ.... очень помогло!!! Улыбаюсь
Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 28-08-2008 08:48 » 

В продолжении заброшенной темы, а то что-то взгрустнулось. Вот объясните мне, ячейки Экселя, да и вообще рабочая облатсь Экселя - это на ListView основано или как? Яхочу что былда по сути такая же таблица и мне надо, чтоб в ячейке текст порой в две/три строки был. В Экселе это достигается нажатием комбинации то ли Контрол, то ли Альт Интер. Чего делать-то короче Улыбаюсь

Вот ссылка http://www.gotdotnet.ru/Forums/Windows/166066.aspx  Так что, мне надо переопределить функцию рисования и там выодить текст в ячейке ручками (А-ля АПИ) так как мне захочется, предварительно раздвинув ячейки? Я так понял у паренька гемор возник с раздвиганием. уНу до этого потом.
В GridView текст без проблем пишется в две ячейки?
« Последнее редактирование: 28-08-2008 08:52 от nikedeforest » Записан

ещё один вопрос ...
Алексей++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #12 : 28-08-2008 09:11 » 

что то сильно сомневаюсь, что экселевский грид - это порождение ListView Улыбаюсь либо сильно переписанный
Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #13 : 28-08-2008 09:14 » 

НЕт это не ListView. Это тн grid. Лист - это просто список, один из стилей которого - таблица. У грида же таблица его суть. Есть множество реализациы и модификаций в различных языках, аки готовых объектов. Короче ключевое слово для поиска - grid.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 28-08-2008 09:31 » 

Блин, сложные эти гриды ептыть ...
Записан

ещё один вопрос ...
Алексей++
кот глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #15 : 28-08-2008 09:45 » 

чем же они сложные то ? Улыбаюсь
Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #16 : 28-08-2008 10:16 » 

Нууу всё познаётся в сравнении. В сравнении с ListView конечно сложнее.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #17 : 28-08-2008 14:38 » 

Нууу всё познаётся в сравнении. В сравнении с ListView конечно сложнее.
+1 Улыбаюсь
Все правильно понял Улыбаюсь
Записан

ещё один вопрос ...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines