2016-08-10 3 views
0

작성한 편집기 버튼을 클릭하거나 이벤트 클릭을 사용할 수 없습니다. 버튼의 스크린 샷은 내가 마이너스 아무것도 일어나지 클릭 할 때 내가 할 image button이벤트 설정 방법 편집기 버튼을 클릭하면 클릭

코드가이

RepositoryItemComboBox repositoryItemComboBox1 = new RepositoryItemComboBox();   
    EditorButton lp = new EditorButton(); 

    private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e) 
    { 
     repositoryItemComboBox1.Items.Clear();   
      GridView view = sender as GridView;   

      for (int i = 0; i < gridView1.RowCount; i++) 
      { 

       if (gridView1.GetDataRow(i) == null) 
       { 
        break; 
       } 

       string code = gridView1.GetDataRow(i)["code"].ToString(); 

       if (!repositoryItemComboBox1.Items.Contains(code)) 
       { 

        repositoryItemComboBox1.Items.Add(code); 
       } 

      } 



     if (e.Column.FieldName == "code" && view.IsFilterRow(e.RowHandle)) 
      { 

      repositoryItemComboBox1.Buttons.Add(lp); 
      repositoryItemComboBox1.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Plus; 
      repositoryItemComboBox1.Buttons[1].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Minus; 

      e.RepositoryItem = repositoryItemComboBox1; 

      }    

처럼 때문에 어떠한 핸들러 (이벤트). 내가 원하는 것은 마이너스 버튼을 클릭하면 gridview 필터가 지워집니다. 참고 : devexpress를 사용하는 iam

+0

코드에서 이벤트는 어디에 생성합니까? yout 빼기 버튼이'lp'라고 가정하면 핸들러'lp.Click + = lp_clicked'를 추가하고 메소드'private void lp_clicked (object sender, EventArgs e) {// 여기에 네 물건들}' –

+0

event.click을 호출 할 수 없습니다. 편집기 버튼은 도구 상자에 이벤트가 없습니다. 직접 정의합니다. 왜냐하면 내가 'repositoryitemedit'을 넣으려고하면 컨트롤을 버튼에서 컨트롤로 변환 할 수 없기 때문이다. –

+0

너무 나쁘다. 거기에 나는이'repositoryItemComboBox1.ButtonClick + = repositoryItemComboBox1_ButtonClick;과 같은 핸들러를 가져야한다. 적어도 새로운 아이디어를 얻었다. –

답변

0

repositoryItem의 ButtonClick 이벤트에 연결할 수 있습니다. 이 경우 어떤 버튼이 클릭되었는지 알 수 있습니다. 그럼 당신은 당신의 버튼이 방법을 만드는 가정 해 봅시다 다음 repositoryItemComboBox1_ButtonClick에서

private void SomeMethod() 
    { 
     var buttonPlus = new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Plus); 
     var buttonMinus = new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Minus); 
     repositoryItemComboBox1.Buttons.Add(buttonPlus); 
     repositoryItemComboBox1.Buttons.Add(buttonMinus); 
    } 

, 당신은 "전자"인수의 버튼 속성에 액세스 할 수 있습니다. 이 예제에서는 "Kind"속성을 사용하지만 실제로 태그를 사용할 수도 있습니다.

private void repositoryItemComboBox1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) 
    { 
     if (e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Minus) 
     { 
      // do something 
     } 
     else if (e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Plus) 
     { 
      // do something else 
     } 
    } 

이것이 내가하는 방법입니다.

+0

repositoryitemcombox1_buttonclick을 얻는 방법은 무엇입니까? 왜냐하면 나는 그것을 'gridView1_CustomRowCellEdit'에 정의하여 자동 필터 행에 넣기 때문입니다. –

+0

내가'void repositoryitemcombox1_button' 클릭을 복사하려고 할 때. 그것은 아무 환경 설정도 가지고 있지 않다 –

+0

iam은 툴박스에서 영속 저장소를 사용하지 않고있다. –

관련 문제