Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Data grid (check_box, combo_box) ?? Добавлено: 27.10.03 11:22  

Автор вопроса:  Atma | ICQ: 161504457 

Как сделать чтобы в DataGrid(подключенная к таблице-запросу) определенный столбец показывал значения вместо (True, False)  показывал Чекбоксы внутри столбиков? Возможно ли такое? И еще: возможно ли чтобы колонки были как бы DataCombo, т.е. раскрывающийся списки?

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 27.10.03 12:49
Да, всё это можно.

Если вникнуть во внутреннее строение DataGrid, то мы можем заметить,
что собственно отображением данных занимаются классы, производные от
DataDridColumnStyle. В .NET Framework таких классов 2:
DataGridTextBoxColumn (для отображения текста) и DataGridBoolColumn
(для отображения чекбоксов).

Для того, чтобы отображались чекбоксы, нужно провернуть следующее:
- создать DataGridTableStyle, указать MappingName - имя таблицы, в
которой этот столбец.
- создать DataGridBoolColumn, указать MappingName - имя столбца.
- добавить этот DataGridBoolColumn в созданный в первом шаге
DataGridTableStyle.ColumnStyles.
- добавить этот DataGridTableStyle в Datagrid.TableStyles.

Вроде всё... Хотя может где-то ошибся.

Если ты грузишь в dataset, к которому привязан datagrid схему, то
автоматически в колонках типа Boolean будут отображаться чекбоксы.


Насчёт вставки комбо: нужно просто сделать класс, наследующий от
DataGridColumnStyle и самому реализовать прорисовку ячеек, там уже
можно будет вставить что захочешь!

Ответить

Номер ответа: 2
Автор ответа:
 Vlados



Вопросов: 6
Ответов: 3
 Профиль | | #2 Добавлено: 27.10.03 17:40

На подобное недавно был ответ.

Элемент управления DataGrid позволяет установить для ячеек одной или нескольких колонок таблицы свойство Button, которое обеспечивает их работу в режиме "кнопок". Например, установи

DataGrid1.Columns.Item(1).Button = True

Тогда после щелчка мыши по ячейкам первой колонки будет выполняться событие ButtonClick. Можеш написать в этой процедуре любой код, например вывести список, который связана с данной ячейкой.

Ответить

Номер ответа: 3
Автор ответа:
 anatoli



Вопросов: 0
Ответов: 5
 Профиль | | #3 Добавлено: 12.11.03 10:43

1. sozdat otdelno comboBox(cboXXXX)

2. sozdat otdelno datagrid , add DataGridTableStyle

add DataGridTextBoxColumn -> TextBoxColumnUsers

TextBoxColumnUsers.TextBox.Controls.Add(cboXXXX)

cboXXXX.Dock = DockStyle.Fill

cboXXXX.BringToFront()

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам