zoukankan      html  css  js  c++  java
  • WinCE设置DataGrid行高

    /// <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);
    }
  • 相关阅读:
    iPhone开发教程之retain/copy/assign/setter/getter
    关于block使用的5点注意事项
    Block的引用循环问题 (ARC & non-ARC)
    浅谈iOS中MVVM的架构设计与团队协作
    JS学习笔记(不断更新)
    神经网络介绍
    JAVA WEB WITH IDEA
    百度地图标注多个点
    脑筋急转弯——Google 面试
    决策树分类器
  • 原文地址:https://www.cnblogs.com/sydeveloper/p/2683367.html
Copyright © 2011-2022 走看看