前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DevExpress数据绑定呈现

DevExpress数据绑定呈现

作者头像
别团等shy哥发育
发布2023-02-27 10:55:00
1.6K0
发布2023-02-27 10:55:00
举报
文章被收录于专栏:全栈开发那些事

1、新建一个WinForm窗体

2、将GridControl控件拖入窗体中,选择在父容器中停靠

上面的数据先不用管,这是我设置之后的

在这里插入图片描述
在这里插入图片描述

3、点击Run Designer

数据库这里为了方便演示,用的SQL Server 由于我数据库中的表有8列数据,这里添加8列,并设置列名和绑定的数据名称:

  • 查看数据库表结构:emp
在这里插入图片描述
在这里插入图片描述
  • 添加8列数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  • 居中显示
在这里插入图片描述
在这里插入图片描述
  • 为每一列填写数据库中对应的字段
在这里插入图片描述
在这里插入图片描述

- 右键查看代码:

在这里插入图片描述
在这里插入图片描述
  • 引入命名空间:
在这里插入图片描述
在这里插入图片描述
  • 编写获取数据源和数据绑定的代码:
代码语言:javascript
复制
using System;
using System.Data;
using System.Data.SqlClient;

namespace DXApplication6
{
    public partial class Form1 : DevExpress.XtraEditors.XtraForm
    {
        public Form1()
        {
            InitializeComponent();
        }
        public DataTable GetDataTable()
        {
            string strCon = "Data Source=.;Initial Catalog=test_10_23;User ID=sa;Password=123456;Connection Timeout=10";
            string sql = "select * from emp";
            SqlDataAdapter sda = new SqlDataAdapter(sql, strCon);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            return dt;
        }

        private void gridControl1_Load(object sender, EventArgs e)
        {
            this.gridControl1.DataSource = GetDataTable();
        }
        /// <summary>
        /// 从数据库里获取数据之后呈现到列表里得单元格时候所触发的事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
        {
            if (e.Column.Caption == "补贴")
            {
                string strValue = e.Value.ToString();
                if (strValue == "")//数据库中补贴为空时,显示0
                {
                    e.DisplayText = "0";
                }
            }
        }
        /// <summary>
        /// 表示每行生成的时候随绘制这一行数据的时候触发
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
        {
            if(e.Info.IsRowIndicator && e.RowHandle >= 0)//在表格前面加行号
            {
                e.Info.DisplayText = (e.RowHandle + 1).ToString();
            }
        }
    }
}

运行结果:

这里我把补贴那一列为空的值处理了下,如果为NULL让它显示0

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、新建一个WinForm窗体
  • 2、将GridControl控件拖入窗体中,选择在父容器中停靠
    • 3、点击Run Designer
    • 运行结果:
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档