2013-03-16 41 views
0

在我的代碼中,我想將複選框添加到「Datagridview」結果中,我已經找到解決方案如何爲datagridview添加組合框或複選框,但是增加新的專欄中,我想將複選框添加到現有的結果,我會詳細解釋給你聽,如何將組合框或複選框添加到「Datagridview」的現有記錄不在新列中

如果我有「Select語句」一結果顯示此數據: enter image description here

我不不想最後添加新列或者首先添加新列,我想將最後一列「Status」(來自數據庫)的複選框置於修改結果並更新數據庫中現有記錄的相同c olumn。

或者爲此列添加預定義集合的組合框,以允許用戶將狀態從「掛起」修改爲「已接受」或「已拒絕」,但位於同一條記錄中,而不是新列。

這就是我想做的事:
enter image description here

+0

歡迎(因此)。所有您需要的代碼在這裏:[DataGridView中的控件](http://stackoverflow.com/questions/15238322/controls-in-the-same-datagridview-column-dont-render-while-initializing-grid)。只需使用ComboBox方法作爲Text單元格中的複選框就需要大量的自定義編碼。 – 2013-03-16 07:23:38

+0

@一如既往,用2行XAML就可以實現winforms中需要大量自定義編碼的東西。如果您需要高級UI功能(例如能夠將某些內容放入網格單元格/列表框/組合框中,與默認內容不同,我強烈建議切換至當前(<10年),硬件加速,基於XAML的技術,更快,更具可擴展性。 – 2013-03-16 14:25:40

回答

0
public Form1() 
{ 
     InitializeComponent(); 
} 

private void button1_Click(object sender, EventArgs e) 
{ 
     AddComboxBoxControlsInGridViewColumn(); 
} 

private void AddComboxBoxControlsInGridViewColumn() 
{ 
    DataTable dt = new DataTable(); 
    dt.Columns.Add("Status"); 
    for (int j = 0; j < 10; j++) 
    { 
     dt.Rows.Add(""); 
    } 
    this.dataGridView1.DataSource = dt; 
    this.dataGridView1.Columns[0].Width = 200; 

    DataGridViewComboBoxCell ComboBoxCell = new DataGridViewComboBoxCell(); 
    ComboBoxCell.Items.AddRange(new string[] { "Pending","Accepted","Rejected" }); 
    this.dataGridView1[0, 0] = ComboBoxCell; 
    this.dataGridView1[0, 0].Value = "Accepted"; 
} 
相關問題