您可以创建一个方法来提供 DataView。
假设你有这样的事情:
public class message {
private string subject { get; set; }
private string message { get; set; }
private string otherValue { get; set; }
}
然后你可以在消息类中添加这样的方法:
public static DataView GetDataGridList(List<message> lstMessages) {
DataTable dt = new DataTable();
// Add the columns here for whatever properties you want
dt.Columns.Add("subject");
dt.Columns.Add("message");
foreach (message msg in lstMessages) {
DataRow dr = dt.NewRow(); // I think that's the call, I'm doing this off the top of my head, sorry.
dr["subject"] = msg.subject;
dr["message"] = msg.message;
}
return (dt.DefaultView);
}
然后,当您创建 DataGrid 时,只需像这样绑定它:
List<message> lstMessages = new List<message>();
// Populate the list however you want here.
DataGrid dg = new DataGrid();
dg.DataSource = message.GetDataGridList(List<message>);
你应该很高兴。请记住,如果您更改所需的属性,将列添加到 DataTable,然后在 foreach 循环中。