FormView 确实挺方便的,不过他也有几个小问题,只把FormView拖到页面里是不行的,还得再拽几个文本框、下拉列表框这一类的控件,还得布局。然后还要弄一个DataSource的控件,利用这个控件把文本框等控件和字段对应上,DataSource也有一个致命的缺点,默认情况下,他是把SQL语句以属性的形式放在了.aspx页面里面。我把SQL语句放在.aspx.cs里面,都被大家反对,那么DataSource把SQL语句放在了aspx里面,大家怎么就可以接受了呢?如果用FormView、DataSource写好了程序之后,字段名变化了怎么办呢?是不是要改好多地方呢?而我的表单控件就不需要改代码了,只需要修改配置信息就可以了。可能使这些优势我都没有说清楚吧。语言表达能力比较差了,准备一下弄个视频给大家看看,估计就好多了。
另外不知道FormView、DataSource能不能同时修改多个表里的数据,他能不能做到我就先不去研究了,我写这一篇的目的是想说一下我的表单控件是可一次修改多个表里的数据的。
先说一下需求,我在写配置信息维护程序的时候,在“表单字段维护”的小模块里面需要同时修改“Manage_Columns”、“Manage_FunFormCol”两个表里的字段,那么怎么办呢?用两个表单控件吗?这个倒也是可以,但是比较麻烦,而且布局上也会遇到一些问题。所以还是要把两个表里的字段都放在一个表单控件里面的好。
【效果图】
【数据库表结构】
【第一步:设置列表信息】
这里主要填写“添加数据用表”等四个信息,其中“查看数据用表”需要写一个视图,通过这个视图来给表单控件里的子控件提供数据,然后要在“修改数据用表”里面填写要修改数据的表名,中间用逗号分隔就可以了。可以是多个表。
【第二步:选择表单里面需要的字段】
我们先选择“Manage_Columns”表里的字段,然后再选择“Manage_FunFormCol”表里的字段,用鼠标打对号,然后单击“添加到表到”按钮。这样两个表里的字段就会出现在同一个表单里面,便于布局。这里有一个注意的地方,必须把“Manage_Columns”表的主键也加在表单控件里面,因为在修改的时候要通过这个主键的信息来修改“Manage_Columns”表里的数据。
好了,其他的步骤和一个表的增删改查都是一样的,这样对于多表的同时修改,也是点点鼠标就实现了,哦,当然现在还需要手动写表名,再完善一下的话,表名也可以不用手写(敲键盘)了,直接用选择的方式来实现。