[英].NET / C# Binding IList<string> to a DataGridView
我有一個IList<string>
從函數返回(作為變量lst)然后我設置然后我
this.dataGridView1.DataSource = lst;
datagrid添加一個標記為Length的列,然后列出每個字符串的長度。 如何讓它只列出字符串?
您確實需要一個具有字符串屬性的對象列表。 使用.NET 3.5,你可以作弊:
.DataSource = list.Select(x=>new {Value = x}).ToList();
否則創建一個虛擬類並手動復制數據...
這是因為DataGridViews顯示了對象的屬性。 在這種情況下,List只有一個屬性“Length”,因此它只能顯示“Lenght”(無論DataType如何)。 您需要創建一個包裝類來實現您想要的(具有“Text”屬性的“MyString”類,然后在您的網格中顯示一個List)。
希望這可以幫助
添加代碼示例
class MyString
{
private string _text;
public string Text
{ get
{
return _text;
}
set
{
_text = value;
}
}
}
'在執行形式
private List<MyString> foo()
{
List<MyString> lst = new List<MyString>();
MyString one = new MyString();
MyString two = new MyString();
one.Text = "Hello";
two.Text = "Goodbye";
lst.Add(one);
lst.Add(two);
return lst;
}
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.DataSource = foo();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.