GridControl 无数据时显示信息

图例:


主要代码如下:

说明:给GridView添加事件gv_CustomDrawEmptyForeground

  private void gv_CustomDrawEmptyForeground(object sender, DevExpress.XtraGrid.Views.Base.CustomDrawEventArgs e)
        {
            int num = 100;
            if (DSMain.Tables[0].Rows.Count < 1) {
                string str = "没有找到你要查询的数据!";
                Font f = new Font("华文中宋", 10, FontStyle.Regular);
                Rectangle rec = new Rectangle(e.Bounds.Top + num, e.Bounds.Left + num, e.Bounds.Right - num, e.Bounds.Bottom - num);
                e.Graphics.DrawString(str, f, Brushes.Black, rec);            
            }
        }

附注:

private void gridView_CustomDrawEmptyForeground(object sender, CustomDrawEventArgs e)
        {
            //方法一(此方法为GridView设置了数据源绑定时,可用)
            ColumnView columnView = sender as ColumnView;
            BindingSource bindingSource = this.gridView.DataSource as
            BindingSource;
            if (bindingSource.Count == 0)
            {
                string str = "没有查询到你所想要的数据!";
                Font f = new Font("宋体", 10, FontStyle.Bold);
                Rectangle r = new Rectangle(e.Bounds.Top + 5, e.Bounds.Left + 5, e.Bounds.Right - 5, e.Bounds.Height - 5);
                e.Graphics.DrawString(str, f, Brushes.Black, r);
            }
            //方法二(此方法为GridView没有设置数据源绑定时,使用,一般使用此种方法)
            if (this._flag)
            {
                if (this.gridView.RowCount == 0)
                {
                    string str = "没有查询到你所想要的数据!";
                    Font f = new Font("宋体", 10, FontStyle.Bold);
                    Rectangle r = new Rectangle(e.Bounds.Left + 5, e.Bounds.Top +5, e.Bounds.Width - 5, e.Bounds.Height - 5);
                    e.Graphics.DrawString(str, f, Brushes.Black, r);
                }
            }
        }



GridControlDevExpress公司的一个控件,可以在WinForms应用程序中创建自定义网格视图。它可以轻松地绑定各种数据源,包括数组,以显示和编辑它们的数据。 如果您要将数组数据显示GridControl中,可以使用以下步骤: 1. 创建一个DataTable对象,并添加需要显示的列。 2. 使用数组中的数据填充DataTable对象。 3. 将DataTable对象绑定GridControl的DataSource属性。 4. 根据需要设置其他GridControl属性,例如列标题、单元格格式等。 以下是一个简单的示例代码,演示如何将数组数据显示GridControl中: ```csharp // 创建一个DataTable对象 DataTable table = new DataTable(); // 添加需要显示的列 table.Columns.Add("ID", typeof(int)); table.Columns.Add("Name", typeof(string)); table.Columns.Add("Age", typeof(int)); // 使用数组中的数据填充DataTable对象 int[,] data = new int[,] { { 1, "Alice", 20 }, { 2, "Bob", 25 }, { 3, "Charlie", 30 } }; for (int i = 0; i < data.GetLength(0); i++) { DataRow row = table.NewRow(); row["ID"] = data[i, 0]; row["Name"] = data[i, 1]; row["Age"] = data[i, 2]; table.Rows.Add(row); } // 将DataTable对象绑定GridControl的DataSource属性 gridControl1.DataSource = table; // 设置列标题 gridView1.Columns[0].Caption = "ID"; gridView1.Columns[1].Caption = "Name"; gridView1.Columns[2].Caption = "Age"; // 设置单元格格式 gridView1.Columns[2].DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; gridView1.Columns[2].DisplayFormat.FormatString = "d"; ``` 这样,您就可以将数组数据显示GridControl中了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值