数据集绑定,两个datagrid的Dataset用同一个游标

解决方案 »

  1.   

    brbrm(般若波若密) :你没明白我的意思,我所说的两个combobox在一个datagrid中啊
      

  2.   

    两种做法,一是用postback,一个combobox加change事件,你在事件响应函数中根据eventarg拿到这个combobox,再根据它的parent找到这一行,再根据index找到另一个combobox,把它可选的市重新填入即可,这种做法不好的地方就是页面会刷新,影响速度二是用javascript,用javascript的事件操作一个隐藏的iframe,所有需要postback的事务(读数据库等)都在这个iframe里进行,等iframe完成后,再用javascript把结果从iframe里取出,填入另一个combobox中即可
      

  3.   

    jeffcui(Jeff) :我是说在winform下啊
      

  4.   

    不好意思没看到,winform下就简单了,你直接用.net里的事件就行了,这两个combobox的实例你是可以直接拿到的,那你在第一个combobox的事件响应函数内对第二个combobox重新databind新的可选集就行了
      

  5.   

    但我的combobox是在datagrid里的一个列的啊
      

  6.   

    DataGridTextBoxColumn dgtb = (DataGridTextBoxColumn)dataGrid1.TableStyles[0].GridColumnStyles[0];  ComboBox cmbFunctionArea = new ComboBox(); cmbFunctionArea.Items.AddRange(new object[]{"选项一","选项二","选项三"}); cmbFunctionArea.Cursor = Cursors.Arrow; cmbFunctionArea.DropDownStyle= ComboBoxStyle.DropDownList; cmbFunctionArea.Dock = DockStyle.Fill;
    //在选定项发生更改并且提交了该更改后发生 cmbFunctionArea.SelectionChangeCommitted += new EventHandler(cmbFunctionArea_SelectionChangeCommitted);  //把ComboBox添加到DataGridTableStyle的第一列 dgtb.TextBox.Controls.Add(cmbFunctionArea);             
    private void cmbFunctionArea_SelectionChangeCommitted(object sender, EventArgs e) {
                            //填写对第二个combobox的操作 }
      

  7.   

    在现在版本的DataGrid中,这个需求应该是不支持的。
    超过了DataGrid 的处理能力了。