这个问题很有普遍性,请高手作答

解决方案 »

  1.   

    你的问题给这些分真的不是很多,不过,还是要告诉你:
    1、在DATAGRID中直接编辑的做法我是不推荐的,因为如果你的字段如果很多或者像您一样遇到这种需要校验的情况(可能有比较复杂的校验);一方面,编辑时会破乱界面的整体布局(不知你发现没有)另一方面校验不是很好做。不是一句两句可以说清楚的,只告诉你一个大概的路子,就是使用Template列,在列里面加东西。如果具体请和我直接联系。
    2、对于将DATASET中的修改直接传到数据表中,要使用SqlCommandBuilder和SqlDataAdapter的Update方法,下面是简单的示例,需要您自己进行完善:SqlConnection con=new SqlConnetion(strConnection);
    SqlDataAdapter apt=new SqlDataAdapter(strQuery,con);
    SqlCommandBuilder cmb=new SqlCommandBuilder(apt);
    DataSet dst=new DataSet();con.Open();
    apt.Fill(dst,"tbl1");//Modify your data in the dataset directlly.apt.Update(dst,"tbl1");
    con.Close();
    要注意的是在构造查询字串时,应使用一个完整的字串,因为dataset的更新和删除操作都是依靠这个查询字串的。