如何使用关联的DataSource为DataGridView设置自定义列名?
这是一些代码:
class Key
{
public string Value { get; }
public DateTime ExpirationDate { get; }
}
List<Key> keys = new List<Key>();
...// fill keys collection
DataGridView dataGridView = createAndInitializeDataGridView();
dataGridView.DataSource = keys;
Run Code Online (Sandbox Code Playgroud)
这为dataGridView提供了列名"Value"和"ExpirationDate".我应该如何继续将名称更改为"密钥"和"过期"?
我一直在努力处理NullReferenceException并希望有人能指出我正确的方向.我正在尝试创建并填充DataTable,然后在DataGridView控件中显示结果.接下来是基本代码,Execution在我调用新的UpdateResults_Delegate时停止并显示NullReferenceException.奇怪的是,我可以在从QueryEventEntries返回之前成功跟踪entries.Rows.Count,所以我至少可以显示1)条目不是空引用,2)DataTable包含数据行.我知道我必须做错事,但我不知道是什么.
private void UpdateResults(DataTable entries)
{
dataGridView.DataSource = entries;
}
private void button_Click(object sender, EventArgs e)
{
PerformQuery();
}
private void PerformQuery()
{
DateTime start = new DateTime(dateTimePicker1.Value.Year,
dateTimePicker1.Value.Month,
dateTimePicker1.Value.Day,
0, 0, 0);
DateTime stop = new DateTime(dateTimePicker2.Value.Year,
dateTimePicker2.Value.Month,
dateTimePicker2.Value.Day,
0, 0, 0);
DataTable entries = QueryEventEntries(start, stop);
UpdateResults(entries);
}
private DataTable QueryEventEntries(DateTime start, DateTime stop)
{
DataTable entries = new DataTable();
entries.Columns.AddRange(new DataColumn[] {
new DataColumn("event_type", typeof(Int32)),
new DataColumn("event_time", typeof(DateTime)),
new DataColumn("event_detail", typeof(String))});
using (SqlConnection conn = new SqlConnection(DSN)) …Run Code Online (Sandbox Code Playgroud)