【问题标题】:Winforms DevExpress Xtragrid conditional formatting - using just part of functionalityWinforms DevExpress Xtragrid 条件格式 - 仅使用部分功能
【发布时间】:2015-03-04 16:43:20
【问题描述】:

是否可以只为用户启用部分条件格式功能?看起来只有“突出显示单元格规则”子菜单选项足够快,可以处理不断更新的网格。

是否可以将“条件格式”限制为“突出显示单元格规则”子菜单?如果不是 - 我如何从自定义菜单中调用相同的对话框?

在哪里可以找到标准数据栏呈现功能,以显示与我的自定义代码相同的单元格样式?

谢谢, 彼得

【问题讨论】:

    标签: c# winforms devexpress xtragrid


    【解决方案1】:

    您可以使用GridView.PopupMenuShowing 事件在弹出菜单显示之前对其进行自定义。检查PopupMenuShowingEventArgs.MenuType 属性以获取列菜单并使用PopupMenuShowingEventArgs.Menu 属性获取GridViewMenu 对象及其GridViewMenu.Items 属性。
    示例如下:

    private void gridView1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e)
    {
        if (e.MenuType != GridMenuType.Column)
            return;
    
        DXMenuItem menuItem = null;
    
        foreach (DXMenuItem item in e.Menu.Items)
            if (item.Tag.Equals(GridStringId.MenuColumnConditionalFormatting))
            {
                item.Visible = false;
    
                menuItem = ((DXSubMenuItem)item).Items[0];
    
                break;
            }
    
        menuItem.BeginGroup = true;
    
        if (menuItem != null)
            e.Menu.Items.Add(menuItem);
    }
    

    【讨论】:

    • 酷:)。您是否知道我是否可以从自定义代码中调用这些菜单中的功能?或者如何应用该功能将应用的单元格样式?那些条看起来不错,我希望我不必在 CustomDrawColumn 中重新实现相同的东西。
    • @PiotrR 您可以在代码中应用所有这些格式条件。看看documentation
    • 我需要避免使用内置的 GridFormatRules,因为当数据不断变化时它们会变慢。我想在我的代码中运行我自己的值,只是让单元格看起来与内置条件格式相同,但使用我的值。其他有用的事情是能够调用标准对话框,获取用户提供的值,并能够在我的自定义代码中使用它们。不知道有没有可能?
    • @PiotrR 您可以使用GridView.RowStyle 事件和GridView.RowCellStyle 事件。这里是documentation
    • 如何重用正在使用的样式条件格式?什么是属性名称?
    猜你喜欢
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多