C# 如何 制作 左边是个list ,右边为一个放表单的区域,根据左边选择的不同,右边出现相对表单,如何实现

如题所述

你好,你这种效果最好用的就是iframe效果,用iframe布局,左边点击传值  右边接受数据可以显示不同的页面,这就达到了你的效果

追问

你好,不好意思,我在研究winform的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-13
这个要看你右边的表单结构是否类似或者相同了,如果差别很大,需要右边放N多个GridView,根据左边的点击,设置gridview的显示隐藏,这样子不太好;
右边你可以左边点击之后,获取关键字,查询数据集或者datatable,然后自己写语句拼接table之类的写出来追问

是不是就只能是右边放很多表单,动态显示隐藏?

追答

如果右边你只想放gridview 并且 表单之间差别很大的话,我想到的就这样动态显示隐藏了;如果表单中字段(列)都一样或者有很多一样 ,个别的不同,或者是列的数量上相同,你可以在查询语句中做文章,把不同表单中查询出来的第一个字段都 as 成同样的,第二个字段 as成同样的…… 然后绑定上就行;不知道你明白我的意思吗;
如果列数差不多,你可以在查询语句中空列加空值,gridview绑定的时候,将多余的列隐藏

追问

如果右边不单只包含表单,还有一些textbox,button之类,这情况是不是就使用多个panel?

追答

那需要根据情况控制 这些控件的显示和隐藏了

追问

大概应该就是把表单及其他控件放在panel里,再控制不同的panel显示隐藏?

追答

这样可以的

第2个回答  2013-09-13
在 list 的Select事件 处理,右边窗体设定多个GridView的Visable。相关业务在自己的Gridview处理。
第3个回答  2013-09-13
直接通过list来触发datagridview的数据绑定源,每点击一次,GridView的Datasource更新一次追问

这个方法只能是绑定表单,根据绑定表显示表列,不能自定义列

追答

你是想在更新完表单Gridview之后再更新一下ListView吗?

追问

并不是,大概你没看明白我的问题

追答

了解了,你右边是自定义的表单,也许显示数据的类型或者一本Text,Combox都是不同的对吧

追问

嗯!就是有好多类表单!可能还包含textbox,button,我就想知道是不是只能使用多个panel去动态控制他们的显示隐藏

追答

如果你的表单的数量很多但是控件的组织的结构差别很大的话最后就不放在一个panel里面了,直接放在不同的窗体,用父子窗体进行不同加载,如果是差别不大就直接用隐藏控件和Grid的某些列来,改变不同数据源来进行控件

追问

如何使用父子窗体加载!这个感觉可行,但还未研究如何实现

追答

http://pan.baidu.com/share/link?shareid=1646420816&uk=2435522074,这是我的网盘,你去里面下吧

追问

太给力了,你的回答已经完美的解决了我问题!

本回答被提问者采纳
第4个回答  2013-09-13
额 你都做出来了可以是两个div style="float:left" 也可以是iframe追问

winform的