在组合框下拉列表中显示gridview。C#

在组合框下拉列表中显示gridview。C#,c#,combobox,C#,Combobox,在c#中有没有办法在combobox下拉列表中显示gridview?当用户单击combobox时,我希望在combobox的底部显示多行多列的gridview,而不是下拉列表。没有简单的方法可以做到这一点。您不能更改下拉列表以按您想要的方式操作。您应该创建自己的控件 以下是您需要执行的步骤: 创建一个由文本区域和按钮组成的用户控件(类似于常用的组合框)。也可以使用以下方法完全像组合框一样绘制控件: DrawTextBox(图形g、矩形边界、ComboBoxState); DrawDropDow

在c#中有没有办法在combobox下拉列表中显示gridview?当用户单击combobox时,我希望在combobox的底部显示多行多列的gridview,而不是下拉列表。

没有简单的方法可以做到这一点。您不能更改下拉列表以按您想要的方式操作。您应该创建自己的控件

以下是您需要执行的步骤:

  • 创建一个由文本区域和按钮组成的用户控件(类似于常用的组合框)。也可以使用以下方法完全像组合框一样绘制控件:

    DrawTextBox(图形g、矩形边界、ComboBoxState); DrawDropDownButton(图形g、矩形边界、ComboBoxState状态)

然后,单击按钮后,需要显示包含ListView的下拉列表。您可以将此组件用于下拉部件:


我几年前就做过这样的事。我需要一些时间将其转换为CodeProject文章

你在使用WinForms吗?WPF?还有别的吗?
SqlConnection con = new SqlConnection("server=(local);DataBase=RIMS;User Id=sa;Password=Rootdb");
SqlCommand com = new SqlCommand("Select * from Master_City", con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
da.Fill(ds, "city");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "city";

DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.HeaderText = "Name";
col.Name = "Name";
col.DataSource = ds.Tables[0];
col.DisplayMember = ds.Tables[0].Columns[1].ToString();
dataGridView1.Columns.Add(col);