禁用列上的排序功能
本文关键字:排序 功能 | 更新日期: 2023-09-27 18:36:42
我正在用 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;
}
希望这有帮助。
:)大卫
"AllowUserToOrderColumns"与数据排序无关,它确定是否允许用户重新排列网格中的列。您可以通过设置相应列的排序模式来禁用对某些网格列进行排序
myDataGridViewTextBoxColumn.SortMode = DataGridViewColumnSortMode.NotSortable