c# - DataGridViewColumn.Frozen 单声道 2.10

标签 c# mono

我对方法 DataGridViewColumn.Frozen 有疑问在 Linux 上使用单声道,用谷歌搜索这个问题对我没有帮助。

我需要卡住 DataGridView 的几列在 C# mono 应用程序中,在 Windows 上它按预期工作,但任何时候我将我的二进制文件复制到 Linux PC,方法 Frozen根本不起作用。

我试过了Columns[index].FrozenColumns[name].Frozen在填充 DataGridView 之前和之后.

这是我的单声道版本的错误,还是我需要一些额外的代码才能使其正常工作? 我在 SUSE Linux 上使用 mono 2.10(不幸的是,我无法升级它)。

更新

制作了一个简单的应用程序并在 mono 4.6.2 上进行了测试:与 2.10 相同,方法 Frozen不起作用。

测试应用代码:

DataTable _tbl = new DataTable();
_tbl.Columns.Add("Name", typeof(String));
_tbl.Columns.Add("val1", typeof(String));
_tbl.Columns.Add("val2", typeof(String));

_tbl.Rows.Add("1", "val11", "val22");
_tbl.Rows.Add("2", "val11", "val22");

dgvVars.DataSource = _tbl;
dgvVars.Columns["Name"].Frozen = true;
dgvVars.Columns[0].Frozen = true;

最佳答案

Windows 窗体是在 System.Drawing 顶部的 Mono 中实现的。因此,由于没有 P/Invoke,遵循代码或多或少容易一些。

在撰写本文时(2018 年 2 月),我没有在 DataGridView.cs 文件中找到对属性 Frozen 的提及。

此外,我还找到了 DataGridViewTest.cs in searchcode.com .如果您对 Frozen 进行文本搜索,您会发现:

// /* NIE for the moment... */ Assert.AreEqual (true, cell.Frozen, "#cell.Frozen");

我认为这意味着 Frozen 没有实现。由于 Windows 窗体已被 Xamarin 放弃,我不希望很快修复它。

恐怕您必须自己实现。

希望这(以某种方式)有所帮助。

关于c# - DataGridViewColumn.Frozen 单声道 2.10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48741094/

相关文章:

c# - 存储大量分析数据

c# - MVC 4 为什么我必须在服务器上而不是本地序列化?

mysql - Mono MySQL.Data 6.9 打开 NotImplementedException

macos - MonoMac 恢复应用程序图标更改

c# - 使用 WindowsCredentials 连接到 TfsTeamProjectCollection

c# - 在AutoFac容器中针对 View 注册WPF ViewModel的最佳方法是什么?

c# - 相同的路径适用于文件但不适用于文件夹

c# - Mono.Security加载问题

c# - Mono 和 Linq 聚合方法。尝试将项目添加到新列表时出错

mono - 有没有使用 Mono 编译 C# 代码以便 exe 可以在 Google 的 native 客户端支持下运行的示例?