2013-04-16 18 views
2

我正在尝试在.NET Compact Framework中为DataGrid查找解决方案,以进行单元格编辑。DataGrid内部单元格编辑的策略

它甚至可以在Windows Mobile中的.NET Compact Framework的默认DataGrid中编辑单元格,以及如何执行此操作?

如果这是不可能的,那么另一种解决方案是什么,如果有空闲的话可能是其他一些控制。

回答

1

不,你不能。从source

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

你没有一个紧凑的设备上的大量屏幕空间,因此电池的编辑实际上是怪异。处理这个问题的一个好方法是有一个表示行中实体的编辑器表单。您选择一行,然后使用按钮或上下文菜单启动编辑。您以这种形式打开选定的行/对象。完成编辑并单击确定后,将更改后的值提交给该行所代表的对象...

Here is a good article详述上述的编辑表单过程。从链接的文章:

此示例演示了使用DataGrid控件 具有用于查看和编辑是在 DataGrid控件选择了记录,并增加了新的记录到数据库表单技术。请注意,必须提供 用户界面才能编辑DataGrid值,因为编译DataGrid单元的 在.NET Compact 框架中不受支持。本示例使用与Visual Studio一起安装的Northwind数据库,即 。

2

在著作“编程紧凑的框架3.5”由保罗·姚为DataGrid在章4.4.9一个不错的就地编辑解决方案及以下:

摘录:

”。 .. 4.4.9提供就地编辑功能 .NET Compact Framework DataGrid控件仅用于显示 与桌面应用程序不同的是,它不提供任何数据修改 功能为了克服显示 - 仅限于 DataGrid控件,您必须自己提供数据修改功能 。 您的应用程序必须采取两个步骤来为 DataGrid控件提供就地编辑。 1.呈现能够接受输入的控件,例如文本框,最好是 ,文本已经高亮显示,当用户指示 他希望修改CurrentCell的内容时。 2.为用户提供一个机制,表明他已完成, 或取消更新。如果请求更新,请将输入控件的内容 移动到CurrentCell中。如果合适的话,隐藏 的输入控制.....“

的代码可在http://www.paulyao.com/res/code/login.aspx?ReturnUrl=%2fres%2fcode%2fdefault.aspx注册之后。姚建雄提供具有手动和自动就地编辑用于使用所述数据网格上面显示一个文本框数据网格的例子。

+0

是的,它确实编辑的单元格的工作在datagrid中,但是如果你使用数据网格的滚动,TextBox也随之移动,除此之外它还是很好的 –

+0

如何处理滚动问题,它在这里:http://www.nullskull.com/q/41296/scroll -event换数据网格,在最紧凑framewor.aspx –