我创建了一个DataTable,如下所示:
accTable = new DataTable();
accTable.Columns.Add(new DataColumn("Date"));
accTable.Columns.Add(new DataColumn("Amt"));
accTable.Columns.Add(new DataColumn("Item"));
Run Code Online (Sandbox Code Playgroud)
并填写:
foreach (DataRow myDataRow in myDataSet.Tables[0].Rows)
{
DataRow accRow = accTable.NewRow();
//code skipped
accRow["Date"] = date.ToString("d"); //tried without converting to string also
accRow["Amt"] = int.Parse(cells[1].ToString());
accRow["Item"] = cells[2].ToString();
accTable.Rows.Add(accRow);
}
Run Code Online (Sandbox Code Playgroud)
然后我将DataGridView绑定到DataTable accTable,如下所示:
dataGridView1.DataSource = accTable;
Run Code Online (Sandbox Code Playgroud)
如何使Date列可排序.默认情况下,它按字母顺序排序.我在哪里可以将列的类型设置为DateTime.
该专栏有一个DataType.你试过这个DateTime吗?
var accTable = new DataTable();
var columnSpec = new DataColumn("Date");
columnSpec.DataType = typeof(DateTime);
accTable.Columns.Add(columnSpec);
Run Code Online (Sandbox Code Playgroud)
当然你可以在一行上做到这一点(感谢BFree):
accTable.Columns.Add("Date",typeof(DateTime));
Run Code Online (Sandbox Code Playgroud)
您将此绑定DataTable到a DataGridView,然后为视图上的每个列设置SortMode属性:
column.SortMode = DataGridViewColumnSortMode.Automatic;
Run Code Online (Sandbox Code Playgroud)
我确实有一些代码完成了所有这些,但我将其转换为使用可空类型(包括DateTime字段),并且它不再像我预期的那样工作.如果我能让它再次正常工作,我会更新这个答案.
| 归档时间: |
|
| 查看次数: |
16393 次 |
| 最近记录: |