我们如何将2个不同的数据集绑定到同一个DevExpress gridview。根据我选择的值,它应该填充第一个或第二个数据集。
TU
答案 0 :(得分:0)
你有什么尝试?
无论如何,这些是不同的方法:
grid.DataSource
;确保根据需要Bind
。grid.DataSource
事件中分配OnDataBinding
并在Load事件中根据需要调用Bind
(以便调用该事件)。OnExecuteSelect
函数 1 )。如果在标记中设置,例如DataSourceId=".."
然后这将自动绑定。 ObjectDataSource
和LinqDataSource
也可以采用声明性参数。在大多数情况下,我更喜欢#3。它“迟到”意味着状态需要确定哪个数据集要绑定(例如,响应于事件)已经被更新。否则事件将不得不重新绑定网格,这是一个浪费的绑定。奖励也可以确保ViewState不会混乱/利用。
当然,在这些交汇点的每一个处,分配“正确的”数据集。
另一个选项,如果有两个不同的数据集具有不同的列/排序配置,这只是创建两个控件然后切换它们之间的可见性(真正的可见性,而不是只是客户的可见性)。如果控件不可见,请避免将数据绑定到控件,因为这是一种浪费的操作。
快乐的编码!
1 LinqDataSource
和ServerModeLinqDataSource
也可以采用“选择方法”,但我发现GenericDataSource提供的界面更容易使用,并且没有几个“在尝试更新数据源时遇到了问题。 ObjectDataSource只是一个在GAC解决方案中处理的PITA,感觉像是一种使用负担。
答案 1 :(得分:0)
是否有任何特定条件取决于数据集用于填充aspxgridview?
您可以在类文件中检查该条件,然后根据该条件返回所需的数据集。
只需将与条件相关的一个参数传递给方法,然后返回准确的数据集,然后将其绑定到网格。