2012-02-13 95 views
-1

有沒有什麼辦法在C#中顯示在combobox下拉列表中的gridview?當用戶點擊組合框,而不是下拉列表時,我想在組合框的底部顯示多行和多列的gridview。在組合框下拉菜單中顯示gridview。 C#

+0

ü檢查WPF控件 – kbvishnu 2012-02-13 06:54:11

+0

您使用的是WinForms嗎? WPF?還有別的嗎? – 2012-02-13 09:08:06

回答

0

有沒有簡單的方法來做到這一點。您無法將下拉列表更改爲您想要的方式。你應該創建你自己的控制。

下面是你需要做的步驟:

  • 創建一個由一個文本區域和一個按鈕(如常用的組合框)的用戶控制。您還可以使用這些方法來完全像組合框一樣繪製控件:

    ComboBoxRenderer.DrawTextBox(圖形g,矩形邊界,ComboBoxState狀態); ComboBoxRenderer.DrawDropDownButton(Graphics g,Rectangle bounds,ComboBoxState state);

然後你需要顯示一個包含你的ListView的下拉列表,使用後點擊按鈕。您可以使用該組件的下拉部分:

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

我已經在幾年前做過這樣的事情。我需要一些時間將其轉換爲CodeProject文章!

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