[英]How to sort a DataGridView Column?
我創建了一個DataTable,如下所示:
accTable = new DataTable();
accTable.Columns.Add(new DataColumn("Date"));
accTable.Columns.Add(new DataColumn("Amt"));
accTable.Columns.Add(new DataColumn("Item"));
並填寫:
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);
}
然后我將DataGridView綁定到DataTable accTable,如下所示:
dataGridView1.DataSource = accTable;
如何使Date列可排序。 默認情況下,它按字母順序排序。 我在哪里可以將列的類型設置為DateTime。
該列具有DataType
。 您是否嘗試過將其設置為DateTime
?
var accTable = new DataTable();
var columnSpec = new DataColumn("Date");
columnSpec.DataType = typeof(DateTime);
accTable.Columns.Add(columnSpec);
當然你可以在一行上做到這一點( 感謝BFree ):
accTable.Columns.Add("Date",typeof(DateTime));
您將此DataTable
綁定到DataGridView
,然后為視圖上的每個列設置SortMode
屬性:
column.SortMode = DataGridViewColumnSortMode.Automatic;
我確實有一些代碼完成了所有這些,但我將其轉換為使用可空類型(包括DateTime字段),並且它不再像我預期的那樣工作。 如果我能讓它再次正常工作,我會更新這個答案。
對於日期數據,我們可以使用以下代碼:
dgv_transfer_from.Sort(dgv_transfer_from.Columns["Date_Out"], ListSortDirection.Ascending);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.