C# WinfForm 控件之dev表格 GridControl

基本用法

1.新建一个winformAPP 放一个gridControl 为gridC 再放一个button 用法与dataGrid一样

代码如下:

        /// <summary>
        /// 显示数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123;database=test"))
            {
                using (SqlDataAdapter ada = new SqlDataAdapter("select * from users ", con))
                {
                    DataTable dt = new DataTable();
                    ada.Fill(dt);

                    grdC.DataSource = dt;
                }
            }
        }
View Code

 2.取选中行标

GridView.FocusedRowHandle

3.不可编辑

gridview -->OptionsBehavior -->Editable=false

4.主从表(重点是 dataset 里有两个可以关联的表  建立两表的联系  再给dataset)

 string str = @"SELECT VPG.CustomerCode AS 客户编码, cus.CustomerName AS 客户名称, VPG.ProtectionGroupName AS 保护机组,  
                      VPG.ConfiguredRpoSenconds RPO秒,  VPG.Status AS 状态, VPG.VmsCount AS 虚拟机数量, VPG.Priority AS 优先级, 
                      VPG.ProvisionedStorageInMB AS 总空间, VPG.UsedStorageInMB AS 已用空间,ProtectionGroupId
               FROM  dbo.Tbl_UDC_ProtectionGroupStatus AS VPG LEFT OUTER JOIN
                     dbo.Tbl_UDC_CustomerList AS cus ON VPG.CustomerCode = cus.CustomerCode where 1=1 ";
                      //VPG.ActualRPO, VPG.ActualRTO, VPG.ProtectionGroupId, VPG.SiteId 这几个可能没有用

            if (this.CusCode != "")
                str = str + string.Format(" and VPG.customerCode = '{0}'", this.CusCode);

            str = str + @" select VmName VM名称,Status 状态,Priority 优先级,ProvisionedStorageInMB 总容量 ,JournalUsedStorageMb 已用空间,VpgId,CustomerCode  from Tbl_UDC_VmResourceInfo";

            DataSet dsMD = dh.GetDataSet(str);
           

            DataRelation relation = new DataRelation("VPG", dsMD.Tables[0].Columns["ProtectionGroupId"], dsMD.Tables[1].Columns["VpgId"]);
            dsMD.Relations.Add(relation);

            gcVPG.DataSource = dsMD.Tables[0];
View Code

5.样式

gridControl-->LookAndFeel-->UsedDefaultLookAndFree=false-->skinName(改下下就可以了)

6.动态创建 GridControl 读取数据 并第一列设定记录行数

GridControl grid = new GridControl();
            GridView gv = new GridView();
            gv.OptionsView.ShowFooter = true;
            gv.OptionsView.ShowGroupPanel = false;
            gv.OptionsView.ColumnAutoWidth = false;
            grid.MainView = gv;
            grid.Dock = DockStyle.Fill;

            this.Controls.Add(grid);


            using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123;database=test"))
            {
                using (SqlDataAdapter adp = new SqlDataAdapter("select * from tbl_test ", con))
                {
                    DataTable dt = new DataTable();
                    adp.Fill(dt);

                    grid.DataSource = dt;
                }

            }

            gv.Columns[0].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Count;
View Code
原文地址:https://www.cnblogs.com/SoftWareIe/p/8808209.html