如何用List填充DataGridview数据源?

时间:2014-01-09 11:34:56

标签: c# list datagridview

我有一个字符串类型的列表,我在其中存储一些值,然后将它们插入到数据库中。现在,当我用该List填充GridView数据源时,我想将这些值显示到Gridview中,它只显示列表中每个值的总字符数。是否有任何过程可以将列表值显示在DataGridView中。

我的代码如下:

private void GenerateButton_Click(object sender, EventArgs e)
{
        List<string> SerialNumberList = new List<string>();

        int SerialNumberStart = Convert.ToInt32(Regex.Replace(StartSerialBox.Text, "[^0-9]+", string.Empty));
        int SerialLimit = Convert.ToInt32(LimitBox.Text);
        for (int i = 0; i < SerialLimit;i++ )
        {
            SerialNumberStart++;
            SerialNumberList.Add("S" + SerialNumberStart);


        }

         for (int j = 0; j < SerialNumberList.Count;j++ )
         {
            Adapter.insertserialnumbers(SerialNumberList[j] , DateTime.Now.ToString()); //Insertiona Procedure which will save the values into the database.
         }
        SerialGridView.DataSource = SerialNumberList ;
}

2 个答案:

答案 0 :(得分:0)

你可以使用BindingList 例如:

protected void GenerateButton_Click(object sender, EventArgs e)
    {
        BindingList<ListType> SerialNumberList = new BindingList<ListType>();
        int x = 5;
        SerialNumberList.Add(new ListType(x.ToString()));

        grid.DataSource = SerialNumberList;
        grid.DataBind();
    }
}
public class ListType
{
    public ListType()
    { }
    private string Itemname;

    public ListType(string _ListItem)
    {
        ListItem = _ListItem;
    }
    public string ListItem
    {
        get { return Itemname; }
        set { Itemname = value; }
    }


}

答案 1 :(得分:0)

您可以从extention methodIEnumerable(此处为List)类型对象添加this SO question。使用此扩展方法从DataTable创建SerialNumberList并绑定到DGV,如下所示:

SerialGridView.DataSource = SerialNumberList.ToDataTable();