我正在用 C# 生成一个 DataTable,我需要禁用通过代码对列进行排序。代码类似于:
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add("File_Name");
dt.Columns.Add("Create_Date");
dt.Columns.Add("Status");
dr = dt.NewRow();
dataGridView1.DataSource = dt;
如何实现这一点?我确实检查了类似 dt.SortMode = <something disabled>
的内容但到目前为止在数据元素上没有找到任何 SortOrder。
最佳答案
这是一个更可靠的示例。我在 Windows 窗体应用程序(.NET 4.5、VS 2012)中对此进行了测试
DataTable dt = new DataTable();
dt.Columns.Add("File_Name");
dt.Columns.Add("Create_Date");
dt.Columns.Add("Status");
DataRow dr = dt.NewRow();
dr["File_Name"] = "abc.txt";
dr["Create_Date"] = DateTime.Now;
dr["Status"] = "Pending";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["File_Name"] = "xyz.bmp";
dr["Create_Date"] = DateTime.Now;
dr["Status"] = "Complete";
dt.Rows.Add(dr);
dataGridView1.DataSource = dt;
foreach (DataGridViewColumn col in dataGridView1.Columns)
{
col.SortMode = DataGridViewColumnSortMode.NotSortable;
}
希望这有帮助。
:) 大卫
关于c# - 禁用列的排序功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27826358/