如图像这样 在dataagridview控件中有两个checkbox X11和 X12 怎么才能实现单选功能呢?每行中x11和x12 中能有一个被选中。。请高手指点 ,,最好给点代码
解决方案 »
- 大家看看我的数据库什么情况的?帮我看看
- 求绘制社区网络图的算法思路
- 急!!!求解答C# listViewItem中的tag问题
- c# treeview问题,请高手帮忙!急急!
- 想做操作系统,做过的人给点建议
- 急救!哪里能找到增强型的listview源码,分不够再加
- 新手问题:TABLE与ASP:TABLE有什么区别
- FTP客户端组件(镶入web页面)测试,要的留下mail..........
- 简单小问:C#中如何判断一对象为空?
- 想成为SOHO的高手请近来,想兼职的朋友请近来
- C#做WINFORM中内嵌we浏览器打开网站后,遇弹出式窗口提示重新身份验证,如何解决,请各位高手指点
- 将gridview的内容写入oracle数据库出错
{
this.dataGridView1.AllowUserToAddRows = false;//这句话在窗体加载时加上也行,也可以修改属性
for (int i = 0; i < this.dataGridView1.RowCount; i++)
{
if (this.dataGridView1.Rows[i].Cells["AA"].Value.ToString() == "True")
{
this.dataGridView1.Columns["AA"].ReadOnly = true;
}
}
}注:不知道这个意思是否和你说的一样?我的基本思路就是:在改变checkbox值的时候,只要有一个是选中,其余的就不可用,如果想可以用的话再设置为False就行。
(转载换分)
private void DataGridView1_CellValueChanged(System.Object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == i) {
bool isChecked = Convert.ToBoolean(this.DataGridView1(e.ColumnIndex, e.RowIndex).Value);
if (isChecked) {
foreach (DataGridViewRow row in this.DataGridView1.Rows) {
row.Cells(e.ColumnIndex).Value = false;
}
}
}
}
private void DataGridView1_CellValueChanged(System.Object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
{
DataGridViewCell cellChange = this.DataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
if (cellChange.GetType() == typeof (DataGridViewCheckBoxCell))
{
bool bChecked = Convert.ToBoolean(cellChange.Value.ToString());
if (bChecked)
{
foreach (DataGridViewCell cell in this.DataGridView1.Rows[e.RowIndex].Cells)
{
if (cell.GetType() == typeof(DataGridViewCheckBoxCell) && cell != cellChange)
cell.Value = false;
}
}
}
else if (cellChange.GetType() == typeof (DataGridViewTextBoxCell))
{ }
}虽然能实现你所说的功能,但是写在CellValueChanged事件下必须要单元格失去焦点的时候才能触发事件,所以在显示上有点不友好。可能通过重写CellValueChanged能做的更好,没仔细的研究。希望对你有帮助,呵呵
在第一次点了X11后 在点同一行的X12这是现实的时候会是两个都选了 只有在带你下一行的时候才能正确现实
有没有什么方法可以实现动态的变化
private void DataGridView1_CellValueChanged(System.Object sender, System.Windows.Forms.DataGridViewCellEventArgs 事件就报索引超出范围。必须为非负值并小于集合大小。这个错误??