[WinForm]控件问题。。 我看你选择不同GridView的数据源也变了?那得看你ComboBox的SelectIndexChange的代码是怎么写的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ComboBox改变时,数据库从新绑定!!! 这个ComboBox的代码:private void cboRole_SelectedIndexChanged(object sender, EventArgs e) { //自动调整列的宽度 dgvwRole.Columns[0].AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells; userRule = new UserRule(); userRule.GetFunction(this.dgvwRole, this.cboRole, code); for (int i = 0; i < this.dgvwRole.Rows.Count; i++) { if (this.dgvwRole["Flag", i].Value.ToString() == "1") { this.dgvwRole["选择", i].Value = true; } } } 这个应该在ComboBoxchanged事件里来做吧判断是哪个就把那个的选择框选中.比如时system的话就设置m001 and m002不知道你的选择是什么依据来的是客户手动的呢,还是从数据库里来的如果是手动的就座变量记录要是从数据库来就简单多了 ComboBox改变时,数据库从新绑定!!!?绑定没有用啊,因为M001已经从数据库里删除了 private void btnSave_Click(object sender, EventArgs e) { userRule = new UserRule(); userRule.DeleteARoleFunction(code);//点击保存的时候,根据用户名吧数据全部删除 foreach (DataGridViewRow row in dgvwRole.Rows) { if (row.Cells["选择"].Value != null && row.Cells["选择"].Value.ToString() == "True") { try { string functionCode = row.Cells[1].Value.ToString(); userRule.AddRoleFunction(functionCode, code);//然后再重新添加 } catch (Exception) { } } } MessageBox.Show("设置成功", "提示"); } 你跟踪调试下吧看看保存的时候有问题还是绑定数据源的时候有问题保存的时候看看你勾上的Row是否保存到数据库中,你的Flag是否正确绑定的时候看看if (this.dgvwRole["Flag", i].Value.ToString() == "1")这句是否符合条件 唉,搞了一天了,就剩下这个BUG搞不定。。不知道什么问题 数据重新绑定的时候CheckBox肯定重置。你在数据库里写一个字段记录下CheckBox的属性,这样做会好点。要不的话你每次更改ComboBox时都会重新绑定数据。 c# treeview建立树在winform上显示 将下面的代码写进基类 wcf服务接口太多造成添加服务时报错 #标题党#请问为什么VS2003编译的程序能连通某个硬件设备VS2005编译后就不行了呢? 高手如云啊,获益很多。 求助关于用winform操作web上传控件的问题 两个数交换的问题,为什么c#和C++结果不一样? 多个Excel文件合并的问题 winfrom 两个dataGridView1之间的传值 有没有数组属性的? c# Access数据库中的问题
{
//自动调整列的宽度
dgvwRole.Columns[0].AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;
userRule = new UserRule(); userRule.GetFunction(this.dgvwRole, this.cboRole, code);
for (int i = 0; i < this.dgvwRole.Rows.Count; i++)
{
if (this.dgvwRole["Flag", i].Value.ToString() == "1")
{ this.dgvwRole["选择", i].Value = true;
}
}
}
ComboBoxchanged事件里来做吧
判断是哪个就把那个的选择框选中.
比如时system
的话就设置m001 and m002
不知道你的选择是什么依据来的
是客户手动的呢,还是从数据库里来的
如果是手动的就座变量记录
要是从数据库来就简单多了
private void btnSave_Click(object sender, EventArgs e)
{
userRule = new UserRule();
userRule.DeleteARoleFunction(code);//点击保存的时候,根据用户名吧数据全部删除
foreach (DataGridViewRow row in dgvwRole.Rows)
{
if (row.Cells["选择"].Value != null && row.Cells["选择"].Value.ToString() == "True")
{
try
{
string functionCode = row.Cells[1].Value.ToString();
userRule.AddRoleFunction(functionCode, code);//然后再重新添加
}
catch (Exception)
{ }
}
}
MessageBox.Show("设置成功", "提示");
}
还是绑定数据源的时候有问题保存的时候看看你勾上的Row是否保存到数据库中,你的Flag是否正确绑定的时候看看
if (this.dgvwRole["Flag", i].Value.ToString() == "1")
这句是否符合条件