在组合框下拉列表中显示网格视图.C#

本文关键字:网格 视图 显示 组合 下拉列表 | 更新日期: 2023-09-27 18:24:10

c#中有任何方法可以在组合框下拉列表中显示网格视图吗?当用户单击组合框时,我希望显示在组合框底部有多行和多列的网格视图,而不是下拉列表。

在组合框下拉列表中显示网格视图.C#

没有简单的方法可以做到这一点。您无法更改下拉菜单以按照自己的意愿行事。您应该创建自己的控件。

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

  • 创建一个由文本区域和按钮组成的用户控件(类似于常见的组合框)。您也可以使用这些方法来绘制控件,就像ComboBox:一样

    ComboBoxRenderer.DrawTextBox(图形g,矩形边界,ComboBoxState状态);ComboBoxRenderer.DrawDropDownButton(图形g,矩形边界,ComboBoxState状态);

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

http://www.codeproject.com/Articles/17502/Simple-Popup-Control

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

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);