【问题标题】:How to disable the users abilities for the Devexpress GridView如何禁用 Devexpress GridView 的用户功能
【发布时间】:2011-03-19 15:36:18
【问题描述】:

我在我的 Visual Studio 2008 应用程序中使用 DevExpress.XtraGrid.Views.Grid.GridView,并认为我限制了用户的能力,但我错了。我正在使用 VB.NET 进行编程,但我可以轻松地从 C# 进行翻译。

我进入 gridview 的属性并将 ShowGroupPanelAllowAddRowsAddNewColumnsAllowDeleteRowsRemoveOldColumnsEditable 设置为 false。这样做我以为我禁用了用户删除、添加和更新行以及禁用分组面板的能力。

但是我运行了程序,当我选择一行并按删除时,程序抱怨我没有设置 deleteStoredProcedure。我查了一下,here 它告诉我禁用命令列

((GridViewCommandColumn)ASPxGridView1.Columns["CommandColumn"]).EditButton.Visible = Convert.ToBoolean(e.Parameters);

然而,当我循环浏览我的列时,我没有命令列。 This 网站告诉我使用 GridView1_CommandButtonInitialize 捕捉删除按钮按下,但我无法访问 CommandButtonInitialize

此外,我发现如果我在程序运行时右键单击网格,我可以让 group by panel 显示出来,我特别认为我禁用了它。同样通过右键单击我可以打开column chooser,它允许用户访问我不希望他们看到的列并设置为visible=false

如何完全禁用用户删除行、打开/使用列选择器以及在 DevExpress Gridview 中按面板显示分组的功能?

编辑:

我在DevExpress.XtraEditors.XtraForm 上的DevExpress.XtraEditors.PanelControl 中使用DevExpress.XtraGrid.Views.Grid.GridView

虽然第一个链接 (ASP.NET) 来自 DevExpress 站点,但我找不到任何专门针对 DevExpress.XtraGrid.Views.Grid.GridView 的示例,所以我希望它们有一些相关性。

【问题讨论】:

  • 嗨,你的问题让我很困惑 :)。您在问题中谈论的是 ASPxGridView 和 XtraGrid。第一个 - 是 ASP.NET 控件,第二个 - WindowsForms Grid。您能否告诉我们您正在创建哪个应用程序,以及您正在使用哪个控件。

标签: visual-studio-2008 gridview devexpress


【解决方案1】:

好的:)

您应该将列的 OptionsColumn.AllowGroup 和 OptionsColumn.AllowShowHide 属性设置为 false。在这种情况下,最终用户将无法按列分组或将此列移动到自定义窗口。如果您想从菜单中删除相应的项目,请参考

How to disable particular menu items in the default grid menus

文章。

最后,如果按下 Delete 键,网格不会从基础数据源中删除行。网格中没有嵌入此功能。所以,我认为当以编程方式删除行时,您的应用程序中应该有一些代码......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多