小编Pau*_*air的帖子

带有绑定数据的空Datagridview单元格

我有一个带有"类型"和"值"列的DataGridView.用户选择数据类型,然后输入与该类型兼容的值,某些类型(例如"Text")接受任何字符串.其他类型(例如"是/否")仅限于可能值列表.对于每一行,我将"值"列中的单元格设置为自由形式类型的文本框或列表类型的组合框.DataGridView绑定到DataTable.

如果用户输入一种类型的值,但随后将该行切换为不允许当前值的其他类型,则会出现此问题.无论我尝试什么,我都无法清除Value cell.然后当我给单元格分配一个组合框时,我得到一个DataError,因为单元格的当前值是不兼容的.如何在将单元格从文本框更改为组合框之前清除该值?

public enum DataType 
{
    Text,
    YesNo
}

public class IndexedItem 
{
    public string Name { get; set; }
    public int ID {get; set; }

    public string strID 
    {
        get { return ID.ToString(); }
    }       

    //constructors & other methods;
}

public static DataTable ParameterTable;
public List<IndexedItem> YesNoList;
Run Code Online (Sandbox Code Playgroud)

在表单构造函数中(dgvInputs是DataGridView):

ParameterTable = new DataTable("ParameterTable");
ParameterTable.Columns.Add("Type", typeof(DataType));
ParameterTable.Columns.Add("Value", typeof(string));

YesNoList = new List<IndexedItem>();
YesNoList.Add(new IndexedItem("Yes", 1));
YesNoList.Add(new IndexedItem("No", 0));

var D = (DataGridViewComboBoxColumn)dgvInputs.Columns[0];
D.ValueMember = "Value";
D.DisplayMember = "Display";
D.DataSource = …
Run Code Online (Sandbox Code Playgroud)

c# datagridview winforms

8
推荐指数
1
解决办法
935
查看次数

标签 统计

c# ×1

datagridview ×1

winforms ×1