我向用户展示了来自数据库的UltraGrid中的项目列表。 现在,我有一个需要,我没有发现任何有用的或任何明确的文件,也没有教程是可用的地方,我可以学习。
我需要扩展这个网格的function,设置一个(+)Expandfunction,当用户按下该button(+)时,该行将展开并显示历史logging中的项目。
世界上任何人都可以帮助我解决这个问题,或指出我可以学习的适当文件?
很感谢。
诀窍很简单。 您只需要将网格绑定到包含两个(或更多)表的DataSet以及将这些表粘合在一起的正确的DataRelation对象。
您还需要确保grid.DisplayLayout.ViewStyle属性设置为MultiBand (这是默认设置,因此应该已经设置)。
因此,例如,在这个伪代码中,我加载两个表并将它们添加到数据集中,然后定义所涉及的列之间的假定关系,最后将数据集绑定到网格。
DataSet ds = new DataSet(); DataTable dtItems = YourLoadDataTableMethodHere("Items"); ds.Tables.Add(dtItems); DataTable dtHistory = YourLoadDataTableMethodHere("History"); ds.Tables.Add(dtHistory); DataRelation rel = new DataRelation("Items_History_Relation", dtItems.Columns["IDItem"], dtHistory.Columns["IDItem"]); ds.Relations.Add(rel); grid.DataSource = ds;
这将自动强制UltraGrid创建两个乐队(grid.DisplayLayout.Bands []),在第一个乐队(乐队[0]),你会发现行数据表,每行都有其[+]按钮点击并展开第二个Band(Band [1]),您将在其中看到与第一个Band中的行相关的History行