读书人

Winform中的Datagridview的第1,2,3,4列

发布时间: 2012-02-11 09:51:34 作者: rapoo

Winform中的Datagridview的第1,2,3,4列为Checkbox,如何根据第1列的值改变第2,3,4例的值?
Winform中的Datagridview的第1,2,3,4列为Checkbox

如何在改变第1列的Checkbox时,把第2,3,4列的checkbox值改成和第一列一样?

我在CellContentClick事件中添加如下代码:


private void dgvLevel_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
int intState = Convert.ToInt32(dgvLevel.Rows[e.RowIndex].Cells[0].Value);
dgvLevel.Rows[e.RowIndex].Cells[1].Value = intState;
dgvLevel.Rows[e.RowIndex].Cells[2].Value = intState;
dgvLevel.Rows[e.RowIndex].Cells[3].Value = intState;
}

没有任何效果,通过MessageBox来显示intState,总是显示1,而不是根据是否选中显示

[解决办法]
建议楼主用javascript来实现。我以前做过
[解决办法]
哇,试了一下,竟然找不到。郁闷啊,试过以下方法。。

C# code
  DataGridViewCheckBoxCell cell = new DataGridViewCheckBoxCell();        public test()        {            InitializeComponent();            cell.FalseValue = 0;            cell.TrueValue = 1;                    }        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)        {            int rowindex = e.RowIndex;            int columnindex = e.ColumnIndex;            if (columnindex == 0)            {                                cell = (DataGridViewCheckBoxCell)this.dataGridView1.Rows[rowindex].Cells[0];                                object a = cell.Value;                a = cell.FormattedValue;                a = cell.Tag;                               DataGridViewElementStates state =this.dataGridView1.Rows[rowindex].Cells[0].State;                          }        }
[解决办法]
应该让微软提供CellValueChanged事件处理。

读书人网 >C#

热点推荐