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

时间:2012-02-13 05:29:31

标签: c# combobox

c#中有没有办法在组合框下拉列表中显示gridview?当用户点击组合框时,我想在组合框的底部显示多行和多列的gridview,而不是下拉列表。

2 个答案:

答案 0 :(得分:0)

没有简单的方法可以做到这一点。您无法更改下拉列表以按您希望的方式运行。你应该创建自己的控件。

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

  • 创建一个由文本区域和按钮组成的用户控件(就像通常的ComboBox一样)。您也可以使用这些方法完全像ComboBox一样绘制控件:

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

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

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

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

答案 1 :(得分:0)

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