我看你选择不同GridView的数据源也变了?
那得看你ComboBox的SelectIndexChange的代码是怎么写的

解决方案 »

  1.   

    ComboBox改变时,数据库从新绑定!!!
      

  2.   

    这个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;
                    }
                }            
            }
      

  3.   

    这个应该在
    ComboBoxchanged事件里来做吧
    判断是哪个就把那个的选择框选中.
    比如时system
    的话就设置m001 and m002
    不知道你的选择是什么依据来的
    是客户手动的呢,还是从数据库里来的
    如果是手动的就座变量记录
    要是从数据库来就简单多了
      

  4.   

    ComboBox改变时,数据库从新绑定!!!?绑定没有用啊,因为M001已经从数据库里删除了
      

  5.   


    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("设置成功", "提示");
            }
      

  6.   

    你跟踪调试下吧看看保存的时候有问题
    还是绑定数据源的时候有问题保存的时候看看你勾上的Row是否保存到数据库中,你的Flag是否正确绑定的时候看看
    if (this.dgvwRole["Flag", i].Value.ToString() == "1")
    这句是否符合条件
      

  7.   

    唉,搞了一天了,就剩下这个BUG搞不定。。不知道什么问题
      

  8.   

    数据重新绑定的时候CheckBox肯定重置。你在数据库里写一个字段记录下CheckBox的属性,这样做会好点。要不的话你每次更改ComboBox时都会重新绑定数据。