我正在向我的用户显示 UltraGrid 中来自数据库的项目列表。 现在,我只有一个需求,但我没有找到任何有用的内容或任何清晰的文档,也没有可供我学习的教程。
我需要扩展此网格的功能,设置一个 (+) 展开功能,当用户按下该按钮 (+) 时,该行会展开并显示历史记录中的项目。
世界上有谁可以帮助我解决这个问题或指示我可以学习的适当文档吗?
非常感谢。
最佳答案
技巧很简单。您只需将网格绑定(bind)到包含两个(或更多)表的 DataSet 以及将表粘合在一起的正确 DataRelation 对象。
您还需要确保属性grid.DisplayLayout.ViewStyle设置为MultiBand(这是默认设置,因此应该已经设置)。
因此,例如,在这个伪代码中,我加载两个表并将它们添加到数据集,然后定义所涉及的列之间的假设关系,最后将数据集绑定(bind)到网格。
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 创建两个 Bands (grid.DisplayLayout.Bands[]),在第一个 Band (Band[0]) 中,您将找到 Items 数据表的行,每行都有其 [+]按钮单击并展开第二个频段 (Band[1]),您将在其中看到与第一个频段中的行相关的历史记录行
关于windows - 具有可扩展行的 Infragistics UltraGrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12805595/