程序界面大体如下:
数据库:Northwind
数据表:Cutomers、Orders将上述两个数据表中的数据fill到同一个DataSet,分别生成两个DataTable(dtCustomer、dtOrder),并在两个DataTable之间创建了关系(关系名称为r1),以便实现数据导航。
用到了CurrencyManager对象。
TextBox数据绑定如下:
tbCustomerId.DataBinding.Add("Text",dtCustomer,"customerId");
...DataGridView控件的数据绑定如下:
myDataGridView.DataSource = ds;
myDataGridView.DataMember = "Customer.r1";
...程序运行后,几个TextBox中显示了第一个客户(ALFKI)的信息,DataGridView控件中也正确的显示了该客户的订单信息;
但点击[>]导航到第2个客户的时候(myCurrencyManager.Position++),几个TextBox能正确显示,但DataGridView中的内容却没有同步变化。
这是为什么?怎么解决?

解决方案 »

  1.   

    tbCustomerId.DataBinding.Add("Text",dtCustomer,"customerId"); 
    =>
    tb.CustomerId.DataBinding.Add("Text", ds, "dtCustomer.customerId");myDataGridView.DataSource = ds; 
    myDataGridView.DataMember = "dtCustomer.r1"; 这样试过吗?好久没碰winform,差不多都忘了:-)
      

  2.   

    等一下
    myDataGridView.DataMember = "dtCustomer.r1"; 
    =>
    myDataGridView.DataMember = "这里直接写关系名不行吗?";