2

我正在尝试在 .NET Compact Framework 中为 DataGrid 找到解决方案,用于单元格编辑。

甚至可以在 Windows Mobile 的 .NET Compact Framework 中编辑默认 DataGrid 中的单元格,以及如何做到这一点?

如果不可能,还有什么解决方案,如果有免费的话,也许还有其他控制。

4

2 回答 2

2

在 Paul Yao 的“Programming the compact framework 3.5”一书中,第 4.4.9 章及以下章节中的数据网格是一个不错的就地编辑解决方案:

摘抄:

"... 4.4.9 提供就地编辑功能 .NET Compact Framework DataGrid 控件仅用于显示。与桌面控件不同,它不向用户提供任何数据修改功能。克服仅显示的限制对于 DataGrid 控件,您必须自己提供数据修改功能。您的应用程序必须采取两个步骤来为 DataGrid 控件提供就地编辑。1. 呈现一个能够接受输入的控件,例如 TextBox,最好带有文本已经突出显示,每当用户表示他希望修改 CurrentCell 的内容时。 2. 为用户提供一种机制来指示他已完成或正在取消更新。如果请求更新,则移动输入控件的内容进入 CurrentCell。如果合适,隐藏输入控件....。”

注册后代码可在http://www.paulyao.com/res/code/login.aspx?ReturnUrl=%2fres%2fcode%2fdefault.aspx获得。Paul Yao 提供了一个使用数据网格上方显示的文本框对 DataGrid 进行手动和自动就地编辑的示例。

于 2013-04-17T04:31:04.503 回答
1

不,你不能。从来源

在 .NET Compact Framework 中,您不能在运行时直接编辑 DataGrid 的内容。您必须将控件(例如 TextBox)绑定到数据源并使用 DataGrid 来显示和选择记录。

您在紧凑型设备上没有太多的屏幕空间,因此单元格编辑实际上会很奇怪。处理此问题的一种好方法是使用编辑器表单来表示行中的实体。您选择一行,然后使用按钮或上下文菜单启动编辑。您在此表单中打开选定的行/对象。完成编辑并单击“确定”后,您将更改的值提交给该行所代表的对象...

这是一篇很好的文章,详细介绍了我上面描述的编辑表单过程。从链接的文章:

此示例演示了将 DataGrid 控件与表单一起使用以查看和编辑在 DataGrid 控件中选择的记录以及将新记录添加到数据库中的技术。请注意,必须提供用户界面来编辑 DataGrid 值,因为在 .NET Compact Framework 中不支持编辑 DataGrid 单元格。此示例使用与 Visual Studio 一起安装的 Northwind 数据库。

于 2013-04-16T16:39:38.680 回答