wince 修改datagrid 行高
2013-07-06 13:27
471 查看
转自:http://www.cnblogs.com/sydeveloper/archive/2012/09/13/2683367.html
/// <summary> /// 设置DataGrid所有行的行高 /// </summary> /// <param name="dg">DataGrid对象</param> /// <param name="cy">行高</param> public void SetGridDefaultRowHeight(DataGrid dg, int cy) { FieldInfo fi = dg.GetType().GetField("m_cyRow", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); fi.SetValue(dg, cy); // dg.GetType().GetMethod("_DataRebind", // BindingFlags.NonPublic | // BindingFlags.Static | // BindingFlags.Instance).Invoke(dg, new object[] { }); } /// <summary> /// 设置指定行的行高 /// </summary> /// <param name="dg">DataGrid对象</param> /// <param name="nRow">行索引</param> /// <param name="cy">行高</param> public void SetGridRowHeight(DataGrid dg, int nRow, int cy) { ArrayList arrRows = (ArrayList)dg.GetType().GetField("m_rlrow", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance).GetValue(dg); object row = arrRows[nRow]; row.GetType().GetField("m_cy", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance).SetValue(row, cy); } //调用完上述函数后,要手动重绘,Gird.Invalidate()。 //利用反射你可以充分的自定义DataGrid的一些隐藏属性,并使用它的一些非公开的方法, 比如以下代码打印了所有DataGrid的隐藏属性: public void PrintField() { System.Reflection.FieldInfo[] fis = typeof(DataGrid).GetFields(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static); string str = ""; foreach (var fi in fis) { str+=fi.Name + ":" + fi.FieldType.ToString()+"\r\n"; } MessageBox.Show(str); }
相关文章推荐
- WinCE设置DataGrid行高
- 如何在DataGrid中进行添加、删除和修改操作
- DataGrid的使用入门(添加、删除和修改操作)[转]
- datagrid 修改 删除记录
- Flex4 DataGrid根据按指定列修改,并同步到数据库中
- WPF中修改DataGrid单元格值并保存
- WPF学习日志1---DataGrid绑定与修改更新(数据List & 数据库)[部分代码有摘录其他文章]
- datagrid显示图标及局域作修改
- WPF线程中被修改后DataGrid数据不能及时更新的问题
- 利用DataGrid编辑、修改、删除记录
- 利用DataGrid编辑、修改、删除记录
- 如何修改wince的网络配置
- Silverlight中DataGrid的显示指定列、修改默认列名和格式化日期数据和小数数据
- 如何修改wince(s3c2410)的MAC地址?
- DataGrid的删除和修改
- datagrid框架的删除添加与修改
- Flex中让鼠标移至AdvancedDataGrid的行上不自动修改显示效果
- WinCE动态修改启动LOGO
- wince修改界面字体
- WinCE动态修改启动LOGO