2013-05-30 11 views
6

Ich habe eine neue ButtonEdit-Spalte zu meiner Gridview hinzugefügt, ich habe Schaltflächen zu ImageButton gedreht. Ich habe das Ereignis button_click hinzugefügt, aber das Ereignis wird nicht ausgelöst. Sollte ich ungebunden etwas an meinen columnbutton binden?DevExpress XtraGrid RepositoryItemButtonEdit-Ereignis wird nicht ausgelöst

Hier sind die Eigenschaften:

 // 
     // 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);** 

bolded Linien, die ich verdächtige Eigenschaften bekam die Veranstaltung Brennen verhindern kann?

Danke für Ihre Hilfe. Grüße, Cihat

Antwort

13

Sie können nicht auf die ButtonEdit-Schaltflächen klicken, wenn die Ansicht nicht bearbeitet werden kann, da die Editoren in diesem Fall nur gezeichnet, aber nicht aufgerufen werden.

Setzen Sie die Eigenschaft gvPrompt.OptionsBehavior.Editable auf true. Stellen Sie dann jede Spalte (außer der Spalte mit der ButtonEdit) GridColumn.OptionsColumn.AllowEdit-Eigenschaft auf false. Damit kann die Spalte mit dem ButtonEdit bearbeitet werden und die Schaltflächen des Editors können "angeklickt" werden.

Bitte entfernen Sie auch die this.gvPrompt.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click; Linie. Es erlaubt dem Button Edit, sofort auf den Mausklick zu reagieren, anstatt zuerst die Zelle zu fokussieren.

+1

danke soooooo viel für Ihre Hilfe. Es arbeitet jetzt – cihata87

+0

Seine Arbeiten Danke viel DmitryG – Khalid

Verwandte Themen