【自然框架】表单控件 之 一个表单修改多个表里的记录

      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”表里的数据。

      好了,其他的步骤和一个表的增删改查都是一样的,这样对于多表的同时修改,也是点点鼠标就实现了,哦,当然现在还需要手动写表名,再完善一下的话,表名也可以不用手写(敲键盘)了,直接用选择的方式来实现。

 实现单表的增删改查的设置方法和步骤:

【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

Webix JavaScript UI 库可以帮你构建跨平台的HTML5 和 CSS3 程序

XB 软件公司最近发布了JavaScript UI 库Webix ,其中包含的组件超过45个,用这些组件可以构建跟HTML5 和 CSS3 兼容的程序,这些程序...

21460
来自专栏Python、Flask、Django

Go语言学习之 - 简单的并发程序

10810
来自专栏流浪猫的golang

golang mongoDB GridFS查询 存储 删除文件

GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片、音频、视频等),如果没有超过16m大小可以将数据保存在BSON数据中。 Gr...

29310
来自专栏雪胖纸的玩蛇日常

python3.6+django2.0 一小时学会开发一套学员管理系统demo

54250
来自专栏一个会写诗的程序员的博客

Chrome headless 模式

PhantomJS 非常不错,因为是使用的 QtWebKit 浏览器内核渲染页面,基本可以和真正浏览器保持一致。

11040
来自专栏葡萄城控件技术团队

如何在 ASP.NET MVC 中集成 AngularJS(2)

在如何在 ASP.NET MVC 中集成 AngularJS(1)中,我们介绍了 ASP.NET MVC 捆绑和压缩、应用程序版本自动刷新和工程构建等内容。 下...

259100
来自专栏章鱼的慢慢技术路

使用Go语言操作MySQL数据库的思路与步骤

最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork。

11430
来自专栏跟着阿笨一起玩NET

WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮

在C#的WinForm程序中,有的时候需要判定关闭请求从哪里发出来的。比如是用户点击了右上角的“关闭”按钮,还是调用了WinForm.Close()方法。最典型...

25010
来自专栏大内老A

如何解决jQuery Validation针对动态添加的表单无法工作的问题?

为了充分利用ASP.NET MVC在服务端呈现HTML的能力,在《利用动态注入HTML的方式来设计复杂页面》一文中介绍了,通过Ajax调用获取HTML来呈现复杂...

20490
来自专栏BinarySec

mmap及linux地址空间随机化失效漏洞

Linux下动态库是通过mmap建立起内存和文件的映射关系。其定义如下void* mmap(void* start,size_t length,int prot...

29910

扫码关注云+社区

领取腾讯云代金券