c# - 禁用列的排序功能?

标签 c# datatable

我正在用 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/

相关文章:

c# DataGrid BindingListCollectionView 自定义过滤器抛出聚合函数的无效用法意味着

c# - 类型为枚举的变量如何获取超出其元素范围的值?

c# - 即使在添加所需的命名空间后也会出现“必需”错误

c# - HttpResponse.WriteFile 方法参数 bool readIntoMemory 有什么作用?

c# - 有没有办法从 FCKEditor 中删除所有不必要的 MS Word 格式

javascript - 刷新数据表列

jquery - 使用 JQuery 数据表出现 IE 停止运行脚本错误

javascript - 在用户输入输入后在右侧显示某些内容

javascript - 我想在数据表中添加 Excel 按钮以进行 Excel 导出

ajax - Primefaces ajax 更新