我有一个字符串类型的列表,我在其中存储一些值,然后将它们插入到数据库中。现在,当我用该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 ;
}
答案 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 method为IEnumerable
(此处为List
)类型对象添加this SO question。使用此扩展方法从DataTable
创建SerialNumberList
并绑定到DGV,如下所示:
SerialGridView.DataSource = SerialNumberList.ToDataTable();