반응형

 

 

1. 코드 예시

​
       private DataTable CreateDataTable()
       {
           DataTable dt = new DataTable();
​
           dt.Columns.Add("NUM", typeof(int));
           dt.Columns.Add("NAME", typeof(string));
           dt.Columns.Add("DESC", typeof(string));
​
           for(int i=1; i <= 10; i++)
           {
               var dr = dt.NewRow();
​
               dr["NUM"] = i;
               dr["NAME"] = i % 2 == 0 ? "이름" : null;
               dr["DESC"] = "";
​
               dt.Rows.Add(dr);
           }
​
           return dt;
       }
       
       private void Form1_Load(object sender, EventArgs e)
       {
           gridControl1.DataSource = CreateDataTable();
​
           gridView1.Columns["NAME"].ShowButtonMode = DevExpress.XtraGrid.Views.Base.ShowButtonModeEnum.ShowAlways;
       }
​
     
​
       private void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
       {
           RepositoryItemButtonEdit rbtnEdit = new RepositoryItemButtonEdit();
​
           if(e.Column.FieldName == "NAME")
           {
               if(e.CellValue.ToString() == "")
               {
                   e.RepositoryItem = rbtnEdit;
               }
           }
       }

 

CustomRowCellEdit 이벤트에서 표시하고 싶은 셀에 조건을 두어 RepositoryItem에 버튼을 추가한다.

 

 

 

2. 실행 결과

 

반응형

+ Recent posts