日期:2014-05-18  浏览次数:20582 次

请教ERP系统中自定义列表显示字段的思路
就是我的列表中的数据是从一个视图中读取出来的。
这个视图可能有100个字段(只是比如)

然后界面不可能显示100个栏位。这时要实现由用户来自定义显示那些栏位。

现在列表都是在aspx页面用
 <Columns>
  <dxwgv:GridViewDataTextColumn Caption="数据状态" FieldName="State">
  </dxwgv:GridViewDataTextColumn>
  <dxwgv:GridViewDataTextColumn Caption="补料申请单号" FieldName="CSID">
  </dxwgv:GridViewDataTextColumn>
  <dxwgv:GridViewDataTextColumn Caption="客户委托加工单号" FieldName="CCID">
  </dxwgv:GridViewDataTextColumn>
  <dxwgv:GridViewDataTextColumn Caption="客户订单号" FieldName="COID">
  </dxwgv:GridViewDataTextColumn>
  <dxwgv:GridViewDataTextColumn Caption="客户名称" FieldName="CName">
  </dxwgv:GridViewDataTextColumn>
  <dxwgv:GridViewDataTextColumn Caption="客户物料编号" FieldName="UGID">
  </dxwgv:GridViewDataTextColumn>
 </Columns>
这样的方式定死的。

请大家帮忙提供解决思路。


------解决方案--------------------
这个不能用控件了 用tableb布局 js来实现列的移动
------解决方案--------------------
用UI

------解决方案--------------------



动态给定GridView要绑定数据的列

DataControlFieldCollection
DataControlField

你可以查询下这方面资料
------解决方案--------------------


上面...

看这个

http://www.cnblogs.com/liver.wang/archive/2011/10/25/GridViewDynamicColumn.html
------解决方案--------------------
二种方式解决:
第一种:在后台查询的时候只查出自己想要字段全部显示即可,UI用foreach循环实现
第二种:查询出所有后,用Linq to objects进行排除,使用select表达式
比如: 查询回来是 dataset,转化为相应类 ORM对应,形成list 或 dictionary<Key, value>二种都可以
然后 from book in books select new {book.title,book.author} 查询出书的标题与作者即可,然后直接绑定
------解决方案--------------------
做个配置,根据配置生成列......
------解决方案--------------------
grid 动态生成列