CustomDrawEmptyForeground

本文探讨了在GridView中两种情况下如何优雅地处理数据为空时的提示,包括设置数据源绑定后的特殊情况和未设置数据源的通用处理。通过代码实例展示了如何显示定制消息并保持界面响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 try
            {
                //方法一(此方法为GridView设置了数据源绑定时,可用)

                ColumnView columnView = sender as ColumnView;

                //BindingSource bindingSource = this.gridView1.DataSource as BindingSource;
                BindingList<HSYZFYMBMX> bindingSource = this.gridView1.DataSource as BindingList<HSYZFYMBMX>;
                if (bindingSource.Count == 0)
                {
                    #region MyRegion
                    int width = 300;
                    int height = 60;
                    int font_size = 18;
                    string str = "* 没有查询到数据!\r\n* no data found!";
                    Font f = new Font("微软雅黑", font_size, FontStyle.Bold);
                    Rectangle r = new Rectangle((e.Bounds.Width - width) / 2, (e.Bounds.Height - height) / 2, width, height);
                    e.Graphics.DrawString(str, f, Brushes.LightBlue, r);
                    e.Handled = true;
                    #endregion
                    //string str = "没有查询到你所想要的数据!";

                    //Font f = new Font("宋体", 10, FontStyle.Bold);

                    //Rectangle r = new Rectangle(e.Bounds.Top + 20, e.Bounds.Left + 5, e.Bounds.Right - 5, e.Bounds.Height - 5);

                    //e.Graphics.DrawString(str, f, Brushes.Black, r);
                }

                //方法二(此方法为GridView没有设置数据源绑定时,使用,一般使用此种方 法)


                else if (this.gridView1.RowCount == 0)

                {
                    #region MyRegion
                    int width = 300;
                    int height = 60;
                    int font_size = 18;
                    string str = "* 没有查询到数据!\r\n* no data found!";
                    Font f = new Font("微软雅黑", font_size, FontStyle.Bold);
                    Rectangle r = new Rectangle((e.Bounds.Width - width) / 2, (e.Bounds.Height - height) / 2, width, height);
                    e.Graphics.DrawString(str, f, Brushes.LightBlue, r);
                    e.Handled = true;
                    #endregion
                    //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);
                }
            }
            catch (Exception)
            {

                //throw;
            }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值