zoukankan      html  css  js  c++  java
  • 读书笔记 UltraGrid(8)

    设置某一列为只读
    this.ultraGrid1.DisplayLayout.Bands[0].Columns[0].CellActivation = Activation.ActivateOnly;

    选择后的缺省前景和背景色
    this.ultraGrid1.DisplayLayout.DefaultSelectedBackColor = Color.Azure;
    this.ultraGrid1.DisplayLayout.DefaultSelectedForeColor = Color.YellowGreen;

    使用dataset绑定。
    检索数据,建立table之间的关系。ultraGrid自动建立层次式展示方式。
    DataSet data = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter("select * from customers", cnnstring);
    da.Fill(data, "Customers");
    da = new SqlDataAdapter("select * from pdctorders", cnnstring);
    da.Fill(data, "PdctOrders");
    DataRelation mydr = new DataRelation("Customers_PdctOrders", data.Tables["Customers"].Columns["CustID"], data.Tables["pdctorders"].Columns["CustID"], false);
    data.Relations.Add(mydr);

    da = new SqlDataAdapter("select * from SaleContracts", cnnstring);
    da.Fill(data, "SaleContracts");
    DataRelation mydr2 = new DataRelation("Customers_SaleContracts", data.Tables["Customers"].Columns["CustID"], data.Tables["SaleContracts"].Columns["CustID"],

    false);
    data.Relations.Add(mydr2);

    this.ultraGrid1.DataSource = data;
    1)系统自动根据源数据的类型选择合适的控件展示,如日历控件、单选框等;
    2)缺省都是左对齐的;
    3)所有数据原样显示,没有格式化的。

    如何根据数据类型自动设置列,如格式、对齐等?
                foreach (UltraGridBand ugb in this.ultraGrid1.DisplayLayout.Bands)
                {
                    foreach (UltraGridColumn ugc in ugb.Columns)
                    {
                        if (ugc.DataType == Type.GetType("System.Int8") ||
                            ugc.DataType == Type.GetType("System.Int16") ||
                            ugc.DataType == Type.GetType("System.Int32") ||
                            ugc.DataType == Type.GetType("System.Int64"))
                        {
                            ugc.Format = "#,#";
                            ugc.CellAppearance.TextHAlign = HAlign.Right;
                        }
                        else if (ugc.DataType == Type.GetType("System.Single") ||
                            ugc.DataType == Type.GetType("System.Double"))
                        {
                            ugc.Format = "#,0.00";
                            ugc.CellAppearance.TextHAlign = HAlign.Right;
                        }
                        else if (ugc.DataType == Type.GetType("System.DateTime"))
                        {
                            ugc.Format = "yyyy/MM/dd";
                            ugc.MaskInput = "yyyy/mm/dd";
                        }
                    }
                }

  • 相关阅读:
    转载Dockerfile 中 RUN, CMD, ENTRYPOINT 的区别
    在linux上通过ssh使用github
    dns服务
    centos6 free 和 centos 7的free 的差异与对比
    无重复字符的最长子串
    go get命令在go mod目录下与正常目录执行的区别
    安装git
    转载 筛子算法之golang实现求素数解析
    Go语言基础之并发
    go之无缓冲channel(通道)和有缓冲channel(通道)
  • 原文地址:https://www.cnblogs.com/chump/p/2347047.html
Copyright © 2011-2022 走看看