【问题标题】:DevExpress XtraGrid RepositoryItemButtonEdit event is not firingDevExpress XtraGrid RepositoryItemButtonEdit 事件未触发
【发布时间】:2013-05-30 08:44:18
【问题描述】:

我在 gridview 中添加了一个新的 ButtonEdit 列,我将按钮变成了 ImageButton。我添加了 button_click 事件,但事件没有触发。 我应该绑定 - 取消绑定到我的列按钮吗?

以下是属性:

        // 
        // gvPrompt
        // 
        this.gvPrompt.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
        this.gcID,
        this.gcName,
        this.gcPromptFileName,
        this.gcTypeName,
        this.gcDomainName,
        this.gcPromptText,
        this.gcLanguage,
        this.gcPromptPlayType,
        this.gcDuration,
        this.colPlayPrompt});
        **this.gvPrompt.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;**
        this.gvPrompt.GridControl = this.gcPrompt;
        this.gvPrompt.Name = "gvPrompt";
        this.gvPrompt.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.False;
        this.gvPrompt.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.False;
        this.gvPrompt.OptionsBehavior.Editable = false;
        **this.gvPrompt.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click;**
        this.gvPrompt.OptionsCustomization.AllowGroup = false;
        this.gvPrompt.OptionsSelection.EnableAppearanceFocusedCell = false;
        this.gvPrompt.OptionsView.ShowGroupPanel = false;
        this.gvPrompt.RowHeight = 3;
        **this.gvPrompt.ShowButtonMode = DevExpress.XtraGrid.Views.Base.ShowButtonModeEnum.ShowForFocusedRow;
        this.gvPrompt.FocusedRowChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(this.gvStep_FocusedRowChanged);**


         // 
        // colPlayPrompt
        // 
        this.colPlayPrompt.Caption = "Çal";
        this.colPlayPrompt.ColumnEdit = this.repositoryItemButtonEdit1;
        this.colPlayPrompt.FieldName = "Column";
        this.colPlayPrompt.ImageAlignment = System.Drawing.StringAlignment.Center;
        this.colPlayPrompt.Name = "colPlayPrompt";
        **this.colPlayPrompt.ShowButtonMode = DevExpress.XtraGrid.Views.Base.ShowButtonModeEnum.ShowAlways;**
        this.colPlayPrompt.Visible = true;
        this.colPlayPrompt.VisibleIndex = 9;
        this.colPlayPrompt.Width = 86;



        // 
        // repositoryItemButtonEdit1
        // 
        this.repositoryItemButtonEdit1.Appearance.Image = global::Digiturk.Diva.Management.Properties.Resources._1358361116_youtube;
        this.repositoryItemButtonEdit1.Appearance.Options.UseImage = true;
        this.repositoryItemButtonEdit1.AutoHeight = false;
        serializableAppearanceObject2.Options.UseImage = true;
        this.repositoryItemButtonEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
        new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", 1, true, true, false, DevExpress.XtraEditors.ImageLocation.MiddleCenter, global::Digiturk.Diva.Management.Properties.Resources._1358361116_youtube, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject2, "", null, null, true)});
        this.repositoryItemButtonEdit1.ButtonsStyle = DevExpress.XtraEditors.Controls.BorderStyles.Style3D;
        this.repositoryItemButtonEdit1.Name = "repositoryItemButtonEdit1";
        this.repositoryItemButtonEdit1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
        **this.repositoryItemButtonEdit1.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit1_ButtonClick);
        this.repositoryItemButtonEdit1.ButtonPressed += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit1_ButtonPressed);
        this.repositoryItemButtonEdit1.Click += new System.EventHandler(this.repositoryItemButtonEdit1_Click);**

粗线表示我有可能阻止事件触发的可疑属性?

感谢您的帮助。 问候, 西哈特

【问题讨论】:

    标签: devexpress xtragrid devexpress-windows-ui


    【解决方案1】:

    当视图不可编辑时,您无法单击 ButtonEdit 按钮,因为在这种情况下仅绘制了编辑器但未调用。

    gvPrompt.OptionsBehavior.Editable 属性设置为true。然后,将每一列(除了带有 ButtonEdit 的列)的GridColumn.OptionsColumn.AllowEdit 属性设置为false。它允许带有 ButtonEdit 的列是可编辑的,并且编辑器的按钮是“可点击的”。

    还请删除this.gvPrompt.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click; 行。它允许按钮编辑立即对鼠标单击做出反应,而不是先聚焦单元格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-29
      • 2017-01-07
      相关资源
      最近更新 更多