现有窗口X里DataGrid表(含字段1,2,3,4)和窗口Y(含若文本框t1,t2,t3,t4);DataGrid表中有四条记录(A/B/C/D),现在要实现的效果是:双击A记录打开窗口Y,并绑定A记录上的数值到窗口Y里相应的文本框内,双击B也打开Y窗口,并绑定B记录到窗口Y相应的文本框内,C/D类似。我的写法如下,出现的问题是:无论双击A还是B记录还是C,都只能将A记录绑定到窗口Y的文本框内,请高手指正。数据表XXX(含字段1,2,3,4);private Y editU=new Y();editU.BindingContext=this.BindingContext;
editU.t1.DataBindings.Add("text",ds,"XXX.1");
editU.t2.DataBindings.Add("text",ds,"XXX.2");
editU.t3.DataBindings.Add("text",ds,"XXX.3");
editU.t4.DataBindings.Add("text",ds,"XXX.4");private void DataGrid_DoubleClick(object sender, System.EventArgs e)
{
    editU.ShowDialog(this);
}
求高手指救!

解决方案 »

  1.   

    是windForm吧,没有做过
    如果是webForm就好说了。
      

  2.   

    editU.BindingContext.Position来控制记录的
      

  3.   

    这个试试:
     Private myCurrencyManager As CurrencyManager
     
     Private Sub BindControl(myTable As DataTable)
        ' Bind a TextBox control to a DataTable column in a DataSet.
        TextBox1.DataBindings.Add("Text", myTable, "CompanyName")
        ' Specify the CurrencyManager for the DataTable.
        myCurrencyManager = CType(me.BindingContext(myTable), CurrencyManager)
        ' Set the initial Position of the control.
        myCurrencyManager.Position = 0
     End Subprivate void DataGrid_DoubleClick(object sender, System.EventArgs e)
    {
    mycurrencymanager.position='X窗体中datagrid选定的一行的index
        editU.ShowDialog(this);
    }
      

  4.   

    楼上的,那怎么样让edutU.BindingContext.Position随鼠标点击而变化呢?
    能不能指教一下!
      

  5.   

    datagrid有個獲取當前行列的屬性,你點到哪一行就把哪一行資料賦值給文本框。