【问题标题】:Need data grid control with expandable rows and columns?需要具有可扩展行和列的数据网格控件?
【发布时间】:2016-05-22 05:23:59
【问题描述】:

我需要具有可扩展行和列、树视图的数据网格控件,但在两个维度上,所以我可以在列组上单击 +,以便我可以展开它,在行组上。只能这样,欢迎任何帮助。

我尝试过的:

全部来自telerik、syncfusion、Grid Wijmo、Super Data Grid for WinForms。

就像枢轴网格,但用于数据。例如,我想加载 500 x 500 的网格,在折叠一些行和列后,我可以在第 351 行和第 231 列找到部分网格。假设我有 30 个列组,每个组有 30 列。在展开状态下,即 30*30 列。我永远找不到我想要的那个。所以,我应该折叠 15 个列组,这样我应该只搜索 15*30 列。一行也是如此。我希望你现在更了解我了。

【问题讨论】:

    标签: datagridview datagrid rows datagridviewcolumn expandable


    【解决方案1】:

    这是用于 Syncfusion GridGroupingControl。可以通过在我们的 GridGroupingControl 顶部使用名为 GroupDropArea 的特定区域对行/列进行分组。您可以通过在此区域中删除所需的列来对数据进行分组。利用 ShowGroupDropArea 属性使该区域可见。

    //显示分组区域

    this.gridGroupingControl1.ShowGroupDropArea = true;

    但是这个 GroupDropArea 只能用于单元格,不能用于标题。没有直接支持让标题像行一样展开和折叠。但是,我们可以使用 Stacked Headers 自定义标题。请参阅下面的代码 sn-p 了解如何使用堆叠头。此方法中提到的所有列都将堆叠在一起,如下图所示。

    //初始化一个GridStackedHeaderDescriptor实例

    GridStackedHeaderDescriptor gridStackedHeaderDescriptor13 = new GridStackedHeaderDescriptor();

    //在单个堆叠标题下添加一组列

    gridStackedHeaderDescriptor13.VisibleColumns.AddRange(new GridStackedHeaderVisibleColumnDescriptor[] { 新的 GridStackedHeaderVisibleColumnDescriptor("OrderID"), 新的 GridStackedHeaderVisibleColumnDescriptor("CustomerID"), 新的 GridStackedHeaderVisibleColumnDescriptor("EmployeeID")});

    将所需的列添加到堆栈标题后,可以使用 FieldChooser 技术显示/隐藏列。可以使用以下代码启用此 FieldChooser。启用字段选择器后,您可以通过右键单击列标题来访问它。请参考下图。

    //在gridgroupingcontrol中启用字段选择器

    FieldChooser fchooser = new FieldChooser(this.gridGroupingControl1);

    //在gridgroupingcontrol中启用字段选择器

    FieldChooser fchooser = new FieldChooser(this.gridGroupingControl1);

    【讨论】:

    • 谢谢!这是完美的,但我会尝试从 Telerik 中实现。
    猜你喜欢
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    相关资源
    最近更新 更多