ppc上的DataGrid运用 (C#)(版本1.2)
wm的项目开动了,用的是c#,因为是刚接触,就在摸索中前进,边学边做。记录自己的工作学习中遇到的一些问题。
DataGrid运用
项目中有一个数据录入的功能,只有两列,第一列为加载时显示,后一列需要编辑后上传。
先记录怎样编辑DataGrid的值,现在暂时知道两种方法:
1.是数据列多,数据行不多的情况:主要考虑专门写一个编辑视图,在编辑视图中修改,而不直接修改DataGrid,
参考: http://msdn.microsoft.com/library/en-us/mobilesdk5/html/mob5conNavigation.asp?frame=true
2.数据列不多,数据行多(类似我的项目需求):这样的情况就 有前辈找到了很好的解决办法,思路主要是 用textbox输入设置值,主要参考的是博客园里的这篇文章: http://www.cnblogs.com/zorp/archive/2008/05/23/1205611.html
//问题:里面的示例代码是可以实现效果 不过如下图被注释的两行代码是可以取消的,不然会在页面本身有滚动条的时候出现闪屏的问题。
代码
inUpdateMode = true;
//dbgSurvey.Visible = false;
DataGridCell currentCell = dbgSurvey.CurrentCell;
dbgSurvey[editCell.RowNumber, editCell.ColumnNumber] =
textBox21.Text;
dbgSurvey.CurrentCell = currentCell;
inUpdateMode = false;
//dbgSurvey.Visible = true;
textBox21.Visible = false;
inEditMode = false;
//dbgSurvey.Visible = false;
DataGridCell currentCell = dbgSurvey.CurrentCell;
dbgSurvey[editCell.RowNumber, editCell.ColumnNumber] =
textBox21.Text;
dbgSurvey.CurrentCell = currentCell;
inUpdateMode = false;
//dbgSurvey.Visible = true;
textBox21.Visible = false;
inEditMode = false;
基于项目的需求,选择了第二种开发方法,运行结果成功!
but 试运行后出现问题了,测试时用的数据量小,没有出现DataGrid长度超过屏幕,出现滚动条的情况,数据量过多时则出现问题了:文本框在DataGrid出现滚动条后,无法准确定位到正确的cell输入地点。找到解决方法:将datagrid 和textbox都放到panle中这样滚动条的事件属于panle,就不会存在text定位不准的问题了。