DevExpress数据绑定呈现
1、新建一个WinForm窗体
2、将GridControl控件拖入窗体中,选择在父容器中停靠
上面的数据先不用管,这是我设置之后的
3、点击Run Designer
数据库这里为了方便演示,用的SQL Server
由于我数据库中的表有8列数据,这里添加8列,并设置列名和绑定的数据名称:
- 查看数据库表结构:emp
- 添加8列数据
- 居中显示
- 为每一列填写数据库中对应的字段
- 右键查看代码:
- 引入命名空间:
- 编写获取数据源和数据绑定的代码:
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?