-1

我只想将一些数据从数据表插入到列表中。

这是我的课:

class WhereColumnValue
{
    private string columnName;

    public string _columnName
    {
        get { return columnName; }
        set { columnName = value; }
    }

    private string setValue;

    public string _setValue
    {
        get { return setValue; }
        set { setValue = value; }
    }

    private bool setValueStatus;

    public bool _setValueStatus
    {
        get { return setValueStatus; }
        set { setValueStatus = value; }
    }
}

现在我有一个 WhereColumnValue 类型的列表。

List<WhereColumnValue> lstWhereColumnValue = new List<WhereColumnValue>();

如何将数据插入到这个 lstWhereColumnValue?

我试过以下代码:

foreach (DataRow tmp in dtAllColumnData.Rows)
            {
                lstColumn.Add(tmp["COLUMN_NAME"].ToString());
                lbTableColumns.Items.Add(tmp["COLUMN_NAME"]);
                lstWhereColumnValue.Add(***);

            }

我必须在这里添加一个项目(*)。但我只有_columnValue 的价值。其余两个将保持为空。我该怎么做?

4

3 回答 3

1

您需要实例化您的类并将其填充的实例添加到您的列表中。像这样的东西:

foreach (DataRow tmp in dtAllColumnData.Rows)
{
    WhereColumnValue val = new WhereColumnValue();
    val._columnName = tmp["COLUMN_NAME"];
    val._setValue = tmp{"SET_VALUE"];
    ....
    lstColumn.Add(val);
}

您可能还希望遵循命名约定并将您的属性设置为 ColumnName、SetValue 等。

于 2012-12-12T14:38:37.303 回答
0
lstWhereColumnValue.AddRange(
            dtAllColumnData.Rows.Cast<DataRow>()
                           .Select(x => new WhereColumnValue() {_columnName = x["COLUMN_NAME"].ToString()})
                           .ToList());

解释:

这将迭代 dtAllColumnData 中的所有行,为每一行创建一个新行WhereColumnValue并将“Column_Name”的值分配给_columnName属性。

于 2012-12-12T14:38:26.617 回答
0

那么什么是lstColumnlbTableColumns

既然您已经声明并初始化了 one List<WhereColumnValue>,我将使用它:

List<WhereColumnValue> lstWhereColumnValue = new List<WhereColumnValue>();
foreach (DataRow tmp in dtAllColumnData.Rows)
{
    WhereColumnValue wcv = new WhereColumnValue{
        _columnName = tmp.Field<string>("COLUMN_NAME") // maybe more fields here
    };
    lstWhereColumnValue.Add(wcv);
}
于 2012-12-12T14:38:42.347 回答