2013-05-30 37 views
6

Dodałem nową kolumnę ButtonEdit do mojego widoku siatki, przekręciłem przyciski do ImageButton. Dodałem zdarzenie click_click, ale zdarzenie nie jest uruchamiane. Czy należy wiązać - niezwiązane coś do mojego przycisku kolumna?DevExpress XtraGrid RepositoryItemButtonEdit Zdarzenie nie uruchamia się

Oto właściwości:

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

pogrubione linie że mam podejrzane właściwości, które mogą uniemożliwiać wydarzenie wypalania?

Dzięki za pomoc. Pozdrowienia, Cihat

Odpowiedz

13

Nie można kliknąć przycisków ButtonEdit, gdy widok nie jest edytowalny, ponieważ redaktorzy narysowali tylko, ale nie zostali wywołani w tym przypadku.

Ustaw właściwość gvPrompt.OptionsBehavior.Editable na true. Następnie ustaw dla każdej kolumny (z wyjątkiem kolumny z właściwością ButtonEdit) wartość GridColumn.OptionsColumn.AllowEdit na false. Pozwala na edycję kolumny z ButtonEdit i przyciskami edytora do "klikalności".

Należy również usunąć linię this.gvPrompt.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click;. Pozwala on na natychmiastową reakcję przycisku na kliknięcie myszą zamiast na skupianiu komórki.

+1

dziękuję bardzo za pomoc. Działa teraz – cihata87

+0

Jego prace Dzięki dużo DmitryG – Khalid