DataGrid中在编辑某行中一列时,如何限定该列必须输入及输入的格式

时间:2022-10-30 16:18:32
1. DataGrid中在编辑某行中一列时,如何限定该列必须输入及输入的格式(或者如何将列的输入同校验控件联系起来,我试过它总说找不到ControlToValidate)?
2.我看了DataGrid中修改及删除某行的例子,它只是在DataView中进行修改或删除再绑定,如何通过DataSet将改动传到数据库,并提事务支持(如不成功则rollback,成功则Commit)?
多谢!

7 个解决方案

#1


 请告诉一下?

#2


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

#3


是啊,我也想知道!

#4


你的问题给这些分真的不是很多,不过,还是要告诉你:
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的更新和删除操作都是依靠这个查询字串的。

#5


  路德兄,多谢!

#6


怎样给分?

#7


kk

#1


 请告诉一下?

#2


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

#3


是啊,我也想知道!

#4


你的问题给这些分真的不是很多,不过,还是要告诉你:
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的更新和删除操作都是依靠这个查询字串的。

#5


  路德兄,多谢!

#6


怎样给分?

#7


kk