标签: datagridviewcomboboxcell

DataGridviewComboBox需要2次单击才能显示项目列表

可能重复:
单击一次打开下拉列表(在数据网格视图中)

我们有一个DataGridView,其中一列是具有DropDownButton样式的ComboBox.DataGridView处于FullRowSelect模式.假设我有5行,并在DataGridView中选择了行0.

我想从-say的ComboBox中选择一个项目例如第2行,因此我单击ComboBox的小箭头.当我这样做时,首先,选择DataGridView的第2行.ComboBox尚未打开.只有第二次单击才能打开ComboBox.

事实上,它过去需要3次点击,但后来我们重载了CellMouseDown来做:

myDataGridView.ClearSelection();
myDataGridView.Rows[e.RowIndex].Selected = true;
Run Code Online (Sandbox Code Playgroud)

有了这个,我们只有2次点击.有没有办法只显示一次单击显示ComboBox项目?

编辑:我还应该提一下,如果我单击ComboBox本身,而不是单击ComboBox的小箭头,只需3次单击即可显示ComboBox项目!

datagridview datagridviewcolumn datagridviewcombobox datagridviewcomboboxcell

4
推荐指数
1
解决办法
7443
查看次数

System.ArgumentException:DataGridViewComboBoxCell值无效

dataGridView.Rows.Add(
    metaData.Offset.ToString("X2"),
    metaData.Length,
    metaData.Format,        // This parameter goes to a ComboBox cell which throws an
    metaData.Description,   //     exception above                       
    null,
    null);
Run Code Online (Sandbox Code Playgroud)

以编程方式将数据分配给的有效方法是什么DataGridViewComboBoxCell

.net c# datagridview winforms datagridviewcomboboxcell

3
推荐指数
3
解决办法
1万
查看次数

Datagridview comboboxcolumn每行的值不同

我想使用c#使用comboboxcolumns创建一个datagridview.

问题是我不知道如何为每行中的组合框提供不同的值.

DataTable dt = new DataTable();
dt.Columns.Add("state");
dt.Columns.Add("city");
dt.Rows.Add("a1", "b1");
dt.Rows.Add("a1", "b2");
dt.Rows.Add("a2", "b3");
dt.Rows.Add("a2", "b4");
dt.Rows.Add("a3", "b5");
DataGridViewComboBoxColumn comboStates = new DataGridViewComboBoxColumn();
comboStates.HeaderText = "HeaderText_1";
this.dataGridView1.Columns.Insert(0, comboStates);
DataGridViewComboBoxColumn comboCities = new DataGridViewComboBoxColumn();
comboCities.HeaderText = "HeaderText_2";
this.dataGridView1.Columns.Insert(1, comboCities);

for (int i = 0; i < dt.Rows.Count; i++)
{
    dataGridView1.Rows.Add();
    comboStates.Items.Add(dt.Rows[i][0]);
        DataGridViewComboBoxCell stateCell = (DataGridViewComboBoxCell)    (dataGridView1.Rows[i].Cells[0]);
    stateCell.Value = comboStates.Items[i];
    comboCities.Items.Add(dt.Rows[i][1]);
    DataGridViewComboBoxCell cityCell = (DataGridViewComboBoxCell)(dataGridView1.Rows[i].Cells[1]);
    cityCell.Value = comboCities.Items[i];
}
Run Code Online (Sandbox Code Playgroud)

此示例提供以下结果:

对于每一行:

comboboxcolumnstate:

a1
a1
a2
a2
a3
Run Code Online (Sandbox Code Playgroud)

comboboxcolumncity:

b1
b2
b3 …
Run Code Online (Sandbox Code Playgroud)

c# winforms datagridviewcomboboxcell

3
推荐指数
1
解决办法
9597
查看次数

在C#中编辑Datagridview中的Combobox项

Datagridview在Winform中有一个.其中一列是a Combobox.是否可以设置属性,以便用户可以输入,而不能从下拉列表中选择条目.

我能够Combobox在属性窗口中对以下更改的项目执行此操作:

AutoCompleteMode.SuggestAppend;
AutoCompleteSource.CustomSource;
DropDownStyle : Dropdown;
Run Code Online (Sandbox Code Playgroud)

谢谢

c# datagridview winforms datagridviewcomboboxcell

2
推荐指数
1
解决办法
6536
查看次数

如何在CellFormatting事件中更改DataGridViewComboBoxCell的颜色?

private void CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
  if(whatever)
    e.CellStyle.BackColor = SystemColors.ControlDark;
Run Code Online (Sandbox Code Playgroud)

这适用于文本列,但对于组合框列,它没有任何区别.如果有更简单的方法,我很快就不会让所有者进行控制.

谢谢,斯派克

datagridview datagridviewcomboboxcell

1
推荐指数
1
解决办法
4353
查看次数

在 datagridview vb.net 中为组合框单元设置 selectedindex

我正在尝试selectedindex为我的datagridviewcomboboxcellthroughcellvaluechanged事件设置 ,即当我更改数据网格行中的某些值时,该列应自动更改。这是代码。

 Private Sub DataGridView1_CellValueChanged(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged

          Try       
                If Me.DataGridView1.Rows(e.RowIndex).Cells(2).Value.ToString <> Nothing Then
                    Me.DataGridView1("unit_code", e.RowIndex).Value = "1" 
                    MsgBox(Me.DataGridView1.Rows(e.RowIndex).Cells(6).Value)
                End If
            Else
                Exit Sub
            End If

        End If
    Catch ex As Exception
        MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Try 
Run Code Online (Sandbox Code Playgroud)



我的 datagridview 绑定到数据集。搜索了许多站点并进行了所有研究,得到了上述解决方案,我们需要将其设置valuemember.value部分。即使在这样做之后,它也会给
system.formatexception:datagridviewcomboboxcell value is not valid.

请帮我。

[编辑]
表结构
unit_code    descp
0 -
1 nos
2 kgs
3 gms

[编辑 2]

 query = "select Switch(qty=0,'2',qty<=rcvd_qty,'1',rcvd_qty=0,'2',qty>rcvd_qty,'3') …
Run Code Online (Sandbox Code Playgroud)

vb.net datagridview datagridviewcomboboxcell

1
推荐指数
1
解决办法
3万
查看次数

如何以编程方式填充VB.net中的DataGridViewComboBoxColumn?

我一直在摸不着头脑.

所以我在设计模式中添加了一个datagridview表单.

datagridview有2列,一列是textbox列,另一列是combobox列.

我已经弄清楚如何以编程方式填充文本框的单元格,但是我无法确定用于填充组合框列的属性.

我只想找到dropdown3个选项.任何想法都会很棒.

PS:我刚刚2天前拿起VB.net,所以如果问题是原始的话,我道歉:)

vb.net datagridview datagridviewcomboboxcell

1
推荐指数
1
解决办法
1万
查看次数