将DataTable放入DataSet中使用GetChanges()方法;

解决方案 »

  1.   

    退出应用程序就在 Closing 事件里处理
      

  2.   

    你们还是没理解我的问题。如何做到当用户点击TreeView的另一个节点时,判断有没有修改数据?
    无论是在BeforeSelect还是AfterSelect事件中,都还没有提交到DataTable(就是说,此时DataSet.HasChanged为false!)如果像你们说的那么简单,你认为我会放100分吗?
    注:我的问题似乎都很难的样子,还有一个问题,发了两个贴子,也都是100分,过了几周了,还没有有点意义的回答,真不明白高手都到哪里去了?
    http://community.csdn.net/Expert/TopicView.asp?id=3656805
    http://community.csdn.net/Expert/TopicView.asp?id=3656541
      

  3.   

    http://blog.csdn.net/alias88/
    楼主参考一下
      

  4.   

    试试看使用IsPostBack属性,它是发生在控件事件之前的。
      

  5.   

    private void Update() 

    //创建DataTable  
    DataTable udt = getDS().Tables["Customers"]; 
    DataRow[] dr; 
    //遍历表单元素 
    int row=0;//行数 
    while (Request.Form["hid" + row] != null) 

    //如果有数据更新,就进行更新操作 
    if (Request.Form["hid" + row] == "update") 

    int col=0;//列数 
     
    //找到变化的行,并更新DataTable 
    string strExp = "CustomerID = '" + Request.Form["df" + row + "-" + col]+"'"; 
    dr = udt.Select(strExp); 
    //更新开始 
    dr[0].BeginEdit(); 
    dr[0]["CustomerID"]= Request.Form["df" + row + "-" + col]; 
    col++; 
    dr[0]["CompanyName"] = Request.Form["df" + row + "-" + col ]; 
    col++; 
    dr[0]["ContactName"] = Request.Form["df" + row + "-" + col]; 
    col++; 
    dr[0]["ContactTitle"] = Request.Form["df" + row + "-" + col];  
    dr[0].EndEdit(); 

    row++; //行数加一 


      

  6.   

    一个是重新绑定,另外用insert语句也可!还可以直接更改DATAROW!
      

  7.   

    我有个比较笨的方法
    使Treeview的节点名称和datatable名对应,datatable更改时通知相应的treeview.node