| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > "Label" или "TextBox" в DataTable? |
| Автор: bhaa 10.4.2008, 17:35 |
| Hi, All! Это работает: Bitmap bmp = new Bitmap("DEVIL.GIF"); dataTable.Columns.Add("FOO", typeof(Bitmap)); dataTable.Rows[0]["FOO"] = bmp; Как сделать так, чтобы это работало с typeof(Label) или typeof(TextBox)? Заранее, tanks, Alexander. |
| Автор: vponomarov 10.4.2008, 18:29 | ||
bhaa, а какие собственно говоря проблемы?
другой вопрос, зачем это нужно... |
| Автор: bhaa 11.4.2008, 13:27 |
| Это не работает: Label label = new Label(); label.Text = "XYZ"; dataTable.Columns.Add("FOO", typeof(Label)); dataTable.Rows[0]["FOO"] = label; |
| Автор: Mr_Smith 11.4.2008, 13:40 |
| Сериализуй объект в бинарный поток, который и храни в своей таблице. потом десиреализуй и получи объект назад |
| Автор: bhaa 11.4.2008, 13:49 |
| Для определённости. Мне надо многострочную конструкцию, один к одному, показать в ячейке. Например, вот такое: r[0]=Nor oper press: r[1]=12_24]{Real(8.2)} r[2]=12_43]{Char(10)} должно точно также отобразиться в ячейке DataGridView. Крайний случай, "прорисовать" группу строк, "превратить" в Bitmap и отобразить. Как сообщал с Bitmap работает. Но хочется сделать "нормально", а typeof(Label) или typeof(TextBox) почему-то не отображается. Просто видна пустая ячейка. Т.е. это: Label label = new Label(); label.Text = "XYZ"; dataTable.Columns.Add("FOO", typeof(Label)); dataTable.Rows[0]["FOO"] = label; или это: TextBox textBox = new TextBox(); textBox.Text = "XYZ"; dataTable.Columns.Add("FOO", typeof(TextBox)); dataTable.Rows[0]["FOO"] = textBox; НЕ РАБОТАЕТ :-(( Если эту многострочную конструкцию я, просто, помещаю вместе с таблицей в DataGridView, то она, конструкция, отображается одной строкой, т.к. "\n" не воспринимается по существу, а отображается ввиде "неизвестного" символа. |
| Автор: bhaa 11.4.2008, 15:17 |
| Я и сам не пойму почему DataGridView столбец "FOO" показывает пустым. От DataGridView мне никуда не деться, ибо это дано "свыше". |
| Автор: vponomarov 11.4.2008, 16:51 | ||
тут нет ничего удивительного: в DataGridView есть четко заданный набор данных которые он умеет отображать. как вариант решения твоей проблемы: нужно создать свой класс, производный от DataGridViewColumn (ну или тип того |
| Автор: bhaa 11.4.2008, 17:07 |
| Идея хороша. Вопрос в том, что, пока, плохо представляю, как это сделать: "который умеет отображать форматированный текст". |