2013-03-16 36 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"; 
} 
相关问题