日期:2014-05-20  浏览次数:20830 次

textbox数据绑定的问题(winform)
form里面的代码如下:

DataSet   ds   =   new   DataSet();
                private   void   button1_Click(object   sender,   EventArgs   e)
                {
                        DataSet   set   =   ds.GetChanges();
                        DataRowState   state=   ds.Tables[0].Rows[0].RowState;
                }

                private   void   Form3_Load(object   sender,   EventArgs   e)
                {
                        SqlConnection   con   =   new   SqlConnection( "server=(local);uid=sa;database=pubs ");
                        SqlDataAdapter   da   =   new   SqlDataAdapter( "select   *   from   authors ",   con);
                        con.Open();
                        da.Fill(ds);
                        con.Close();
                        this.textBox1.DataBindings.Add( "Text ",   ds,   "Table.au_fname ");
                        this.textBox2.DataBindings.Add( "Text ",   ds,   "Table.au_lname ");
                       
                }

问题是我对绑定数据后的textbox1进行了数据修改
dataset里面的数据相应也作了修改
但是奇怪的地方是
DataSet   set   =   ds.GetChanges();
得到set为空,这不明显不统一吗,数据都改变了,行的状态却还是原来的未改变状态
这是什么原因?还是漏洞?

------解决方案--------------------
//try在要得到改变行前加上
this.BindingContext[ds, "tablename "].EndCurrentEdit();