2016-03-21 9 views
1

Я создаю настольное приложение, и у меня есть сетка с именем custCartGrid в моей форме. Я хочу выбрать тип транзакции, например «Продажа» или «возврат», в поле «Сочетание» в строке «Сетка». Я новичок в combo-box в Grid, поэтому я не очень понимаю, почему я не получаю требуемые результаты. Вот код, который я применил для получения combo-box.Добавить Combobox в DataGridview

DataGridViewComboBoxColumn dcom = new DataGridViewComboBoxColumn(); 
     dcom.HeaderText = "Combobox"; 
     dcom.Items.Add("Sale"); 
     dcom.Items.Add("Return"); 
     custCartGrid.Columns.Add(dcom); 
  1. Когда я вставить вторую строку, он добавляет еще один комбо-бокс в первом ряду, как у меня есть 2 комбо-боксы в первой строке, а затем создает вторую строки с двумя комбо-боксами. Как мудрый для третьего ряда.
  2. Я не получаю элементы в combo-box, которые я добавил через метод items.add.

Пожалуйста, помогите мне в этом ..

это полный код, который я использовал для вставки значений в сетке

DateTime dt = DateTime.Now; 
     string date = dt.ToShortDateString(); 
     //date 
     // determineTransactionType(); 

     custCartGrid.Rows.Add(); 
     GridRow = custCartGrid.Rows.Count - 1; 

     custCartGrid["CODE", GridRow].Value = productDetails.Tables[0].Rows[0]["ProductID"].ToString(); 


     custCartGrid["Name", GridRow].Value = productDetails.Tables[0].Rows[0]["ProductName"].ToString(); 

     custCartGrid["PRICE", GridRow].Value = tb_FP_Price_Single_Product.Text.Trim(); 
     custCartGrid["CATEGORY", GridRow].Value = productDetails.Tables[0].Rows[0]["CatName"].ToString(); 

     custCartGrid["MODE", GridRow].Value = "Sale"; 

     DataGridViewComboBoxColumn dcom = new DataGridViewComboBoxColumn(); 
     dcom.HeaderText = "Combobox"; 
     dcom.Items.Add("Sale"); 
     dcom.Items.Add("Return"); 
     custCartGrid.Columns.Add(dcom); 

это скриншот формы enter image description here

+0

Вы изменили количество столбцов datagridView? где он инициализируется? Отправьте весь код, пожалуйста. –

+0

Я не вижу никаких проблем с вашим кодом, включите custCartGrid и событие в вопросе. Это может помочь. –

+0

@UsamaZafar Я не знаю много об этом, не могли бы вы изменить мой код в мое состояние, пожалуйста? Я хочу combobox в моей строке –

ответ

0

Попробуйте следующий модифицированный код, чтобы добавить ComboBoxColum в ваш GridView:

DataGridViewComboBoxColumn dcom = new DataGridViewComboBoxColumn(); 
    dcom.HeaderText = "Combobox"; 
    dcom.Name = "cmb"; 
    dcom.MaxDropDownItems = 2; 
    dcom.Items.Add("Sale"); 
    dcom.Items.Add("Return"); 
    custCartGrid.Columns.Add(dcom); 
+0

не сработал для меня –

+0

@IqraQureshi. Тогда это не проблема с этим фрагментом кода, как я его пробовал, и он отлично работает. –

+0

@ IqraQureshi Я должен признать, что это странно. –

Смежные вопросы