我已经设置了一个文本框来搜索我的数据网格上的名称,但我收到了错误: 'Object reference not set to an instance of an object.'
List<Member> members = new List<Member>();
public class Member
{
public int id { get; set; }
public string name { get; set; }
public int age { get; set; }
public Image image_url { get; set; }
}
// In a keyup event of the text box
(memberGrid.DataSource as DataTable).DefaultView.RowFilter = string.Format("name = '{0}'", searchBox.Text);
我已尝试更改DataTable为List或Member。我也尝试过List/Member在前面使用铸造,DataTable但它似乎不起作用。
最好的方法是什么?
编辑:
这就是我将 SQL 选择中的每一行数据添加到列表中的方式。
members.Add(new Member
{
id = Convert.ToInt32(reader["id"]),
name = reader["name"].ToString(),
age = Convert.ToInt32(reader["age"]),
image_url = (Image)Properties.Resources.ResourceManager.GetObject(reader["image_url"].ToString())
});
要添加到网格中,我遍历列表并为每个成员添加一行:
for (int i = 0; i < members.Count; i++)
{
memberGrid.Rows.Add(new object[]
{
members[i].image_url,
members[i].name,
members[i].age
});
}
拉丁的传说
UYOU
相关分类