有两个dataGridView:grid1 和grid2, grid2的Visible=false ,现在要求是在grid1的单元格中输入数据时,
grid2的Visible=true,同时以grid1单元格的数据为条件,把数据库中满足条件的数据搜索出来显示到grid2中.

解决方案 »

  1.   

    用 DataGridView 的 单元格值发生改变时执行的事件 CellStyleContenChanged
      

  2.   

      protected void grid1_CellStyleContentChanged(object sender, EventArgs e)
            {
               
                grid2.Visible=true  ;
            }
    不行啊
      

  3.   

    用CellValueChanged事件private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
            {
                this.dataGridView2.Visible = true;
            }
      

  4.   

    CellValueChanged晕了 不好意思 我一时打快了打错了 
      

  5.   

    我想是在grid1的某一例(如第一例)的单元格输入数据grid2.Visible = true,然后
    在grid2选择数据后,把grid2的一行数据付给grid1的选定行,然后grid2.Visible = false
      

  6.   

    你这个应用可以实现,但是不合理。如果要做到将GRID1中选定记录的关联数据显示到GRID2中,那么需要在两个表之间建立DataRelation,Grid1中的为主表,Grid2绑定的数据源是DataRelation。这样在选择Grid1中的记录时,Grid2会发生相应的改变。这样就实现了两表之间的关联。
    但像你说的在Grid1中输入数据,Grid2根据这个输入的数据显示相关记录,这就不是好的做法了,这实际上是要求动态展示。上面的实现依赖的是数据库的关系,如果要实现动态更新,那么在grid1中输入数据后,马上就得将这个数据写入数据库,程序再根据这个数据建立DataRelation,也就是每次输入一个数据都会发生数据更新,建立DataRelation,再将数据绑定到grid进行显示这样一系列动作。这种做法很低效,在数据量稍大时根本是不可行的。
      

  7.   

    确实啊,LZ的需求很不怪异。
    你要在gird1中数据变了之后,去让grid2来显示,然后再grid2的数据给grid1.
    LZ不这样不行吗?你的需求是个啥?
      

  8.   


    用CellValueChanged事件 private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) 
            { 
                this.dataGridView2.Visible = true; 
            }