C#中多视图联动控制——关于C#中的MVC

 导师提倡使用可视化的编程方法进行开发,这样开发效果非常快,我也深感到了这样开发的好处:效率高,手动编写代码少;但万事都是一把双刃剑,可视化开发的缺点是:东西封装得太好了,你虽然可以运用其进行快速开发,但是却难以得知其中的运行机理,以至于出现问题的时候无从下手。想要写好可视化开发的程序,这就要求程序员需要有深厚的知识底蕴。

    今天的重点来了:创建数据源(xsd)文件后,即可用可视化的方式绑定数据源,可以直接从数据源中拖出相应字段,然后IDE便自动对控件进行了绑定(数据源拖拽在视图-》其他窗口-》数据源中,PS:找了我半天)。我的项目在左侧放置了一个GridView,右侧放置一系列单行字段控件,两部分绑定了相同的BindingSource。这样,在GridView中用鼠标选定了特定行后,右侧的一系列单行字段控件也会随着改变。这时,有一个需求是需要通过输入信息来自动定位左侧的相关字段。发现GridView中只有一个selecet属性与之相关,设置其为true后,发现只是该行的背景色发生了变化,而并未真正的选定,导致左侧的一系列控件无法随之进行变化。此时,引发了我的思考——.NET提供的这一套GridView(V)-BindingSource(C)-DataTable(M,DataTable由TableAdapter所控制)控件,实际上使用了MVC设计模式,这样,要想改变View的显示状态,特别是这种带有联动性的状态(即左侧的Gridview和右侧的一系列控件有显示同一性),则应该在Control模块中控制。果不其然,在BindingSource中有Position这一项,而这一项即为选中项的索引值,这与两者能够实现联动密切相关,通过控制这一属性,即可达到任务目标。

    Over,遇到问题要思其本源,切勿因难而退。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。