2013-11-09 4 views
0

나는 내 datagridview에 대한 데이터 소스로 사용하는 바인딩 목록이 있습니다. 셀 값이 변경 될 때마다 iNotify를 사용하여 내 목록을 업데이트합니다. 그런 다음 Access 데이터베이스에 씁니다. 그러나 입력을 확인하고 사용자가 예상되는 데이터 유형을 쉽게 알 수있는 방법이 필요합니다.C# DataGridView + 바인딩 목록 - 셀 유형 변경

IE 내 "Shift"열은 3 가지 시프트 옵션이 필요합니다. 나는 combobox로 이것을 할 수 있다고 생각하지만 celltype을 변경하는 방법에 대해서는 아직 확신이 없으며 datagridview의 데이터 소스로 내 목록을 바인딩하여 업데이트시 내 바인딩 목록을 업데이트해야합니다.

힌트는 대단합니다.

답변

1

이와 비슷한 제품을 찾고 계십니까?

private void Form1_Load(object sender, EventArgs e) 
    { 
     BindingList<Shift> bindingList = new BindingList<Shift>();   
     bindingList.Add(new Shift(ShiftType.SHIFT1)); 
     bindingList.Add(new Shift(ShiftType.SHIFT2)); 
     bindingList.Add(new Shift(ShiftType.SHIFT3)); 
     bindingList.Add(new Shift(ShiftType.SHIFT1)); 

     var ShiftColumn = new DataGridViewComboBoxColumn(); 
     dataGridView1.Columns.Add(ShiftColumn); 

     dataGridView1.AutoGenerateColumns = false; 
     dataGridView1.DataSource = bindingList; 
     ShiftColumn.DataPropertyName="shiftType"; 
     ShiftColumn.DataSource = new List<ShiftType> { ShiftType.SHIFT1, ShiftType.SHIFT2, ShiftType.SHIFT3 }; 


    } 

} 
class Shift 
{ 

    public ShiftType shiftType { get; set; } 


    public Shift(ShiftType shiftType) 
    { 
     this.shiftType = shiftType; 

    } 

} 
enum ShiftType 
{ 
    SHIFT1 , 
    SHIFT2, 
    SHIFT3 
} 
+0

예, 티켓입니다. 목록의 데이터로 항목을 채울 수 있다는 것을 알지 못했습니다. 감사. – Jiffywhip