Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Combobox в DataGridView


Автор: dbykov 20.11.2007, 17:04
Необходимо сделать нечто похожее на автофильтр в Excel

Есть DataGridView, надо добавить строку с комбобоксами сразу же просле закоголовков.
Далее идут все данные в сетке строковые

Если невозможно, то подкиньте идею, как лучше это реализовать...

Автор: Domovik 22.11.2007, 10:17
На сколько я знаю, в DataGridView возможно определение типа ячейки (Cell) только по колонкам. То есть если тебе нужны комбобоксы, то стандартным способом можно сделать колонку, в которой все ячейки - комбобоксы. В твоём случае, я думаю, единственный выход - написание компонента, наследующего интерфейс (необходим для совместимости с DataGridView) IDataGridViewComponent. После чего заменить им стандартные ячейки первой (нулевой) строки в DataGridView. Так же было бы полезно установить свойство Frozen строки фильтрации в true.

PS если кто-либо знает другой способ, то пусть он опишет его. Я думаю, все, включая и меня, будут благодарны.

Автор: Domovik 22.11.2007, 23:31
В общем я немного облажался. Сделать то, что ты хочешь можно на МНОГО проще. Создаём объект класса DataGridViewComboboxCell и присваиваем этот объект нужной ячейке нужной строки.

Примерно так

Код

for (int i = 0; i < datagridview1.Columns.Count; i++)
   datagridview1.Rows[0].Cells[i] = new DataGridViewComboBoxCell();

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)