C#DataGridView +绑定列表 - 单元格类型更改

时间:2013-11-09 16:26:14

标签: c# winforms datagridview

我有一个绑定列表,我用它作为datagridview的数据源。每当单元格值发生变化时,我都会使用iNotify来更新我的列表。然后写入Access数据库。但是,我需要一种方法来验证输入,并使用户更容易知道预期的数据类型。

IE我的“Shift”列需要3个移位选项。我怀疑我可以使用组合框进行此操作,但我不太确定如何更改单元格类型,并且仍然通过将我的列表绑定为datagridview的数据源来更新我的更新绑定列表。

任何提示都会很棒。

1 个答案:

答案 0 :(得分: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 
}