DataGridView 很可能是让 .NET 开发者频繁使用的控件之一。其更大的功能之一就是将数据可视化展示。通过 DataGridView,我们能够更加清晰、明了地展示数据库的数据,对于前端展示和后端数据的对接也有非常重要的作用。本文将介绍如何使用 DataGridView 来展示数据库的数据。
一、设置数据源
要使用 DataGridView 显示数据,我们首先需要为其指定数据源。我们可以通过代码或者设计器来进行设置。这里以通过代码的方式为例。
打开源代码文件,找到窗体或者用户控件的构造函数。调用数据源绑定方法即可。代码示例如下:
“`
dataGridView.DataSource = myDataSet.Tables[0];
“`
其中 `myDataSet.Tables[0]` 即为我们所需要绑定的数据表。
二、数据绑定
在已经成功设置好数据源的情况下,接下来就要为 `DataGridView` 进行数据绑定。
1. 简单数据绑定
在 Form_Load 事件中添加以上代码实现数据表到 DataGridView 的绑定。当代码执行之后,DataGridView 就会自动绑定到指定的数据表。如果我们想对绑定的操1012作进行个性化的定制,那么我们可以通过属性列表中对应的属性值来实现,比如选择性的显示列、对列名重新命名等。
2. 数据绑定的高级查询
使用如上方式的数据绑定,虽然方便,但往往限制较大。在实现一些较为复杂的数据绑定时,我们需要使用 DataGridView 的高级查询功能。
通过代码,可以灵活地编写查询语句,实现数据的较为精确的显示和操作。绑定和数据过滤的代码片段示例:
“`
string connectionString = @”Provider=Microsoft.ACE.OLEDB.12.0;” +
@”Data Source=C:Northwind.accdb;”;
string queryString =
“SELECT CustomerID, CompanyName, ContactName, ContactTitle FROM Customers “+
“WHERE Country = ‘USA’ ORDER BY CompanyName;”;
OleDbDataAdapter adapter = new OleDbDataAdapter(queryString, connectionString);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
dataGridView1.DataSource = dataset.Tables[0];
“`
其中 `DataSource()` 方法是用来指定数据源的。
三、基本特性
在数据已经绑定,我们接下来来一一介绍 DataGridView 主要的基本特性。
1. 行和列
由于 DataGridView 是以表格形式展现的数据,其中的单元格都是由行和列构成的,我们在对其进行编程时也是以这两者为控制对象。DataGridView 控件中的每一行和行中的每一单元格,我们通常称之为单元格对象。
2. 双缓冲和性能
DataGridView 的本质就是一个画板,它需要被刷入很多个行的数据,每秒钟的刷时时间可能达到 10 次以上,而且每一行数据都是由多个单元格组成,如果绘制数量过多,对于性能的影响是非常大的。
为了解决这种情况,我们需要用到双缓冲技术。在许多平台上,缺省的双缓冲已知为缺陷,需要开发者自己处理。在 .NET 的 DataGridView 控件上,则已经默认实现了双缓冲机制,可以大大提高组件的性能。
3. 自定义样式
DataGridView 提供了对于单元格所在行和列进行格式化的方法,通过调用相应的方法,即可实现样式和颜色的自定义。
DataGridView 的格式化和颜色设置,可以根据单元格的值、所在的行和列,以及特定属性的值来自适应地继承到单元格上。例子代码如下:
“`
private void dataGridView1_CellFormatting(object sender,
DataGridViewCellFormattingEventArgs e)
{
if (this.dataGridView1.Columns[e.ColumnIndex].Name == “Total”)
{
if ( Convert.ToDouble(e.Value)
{
e.CellStyle.BackColor = Color.Aqua;
e.CellStyle.ForeColor = Color.Crimson;
}
}
}
“`
其中针对 “Total” 列,单元格数值
四、结论
DataGridView 在 .NET 开发中的地位和作用是至关重要的。它不仅能够对数据进行可视化展示,还能够进行数据的高级查询,实现自定义的数据样式。同时,DataGridView 也兼具性能高效、使用简单等优点。 而言,DataGridView 的应用能够为开发者带来不小的便捷,也有许多拓展性极强的应用场景。
相关问题拓展阅读:
C# 查询数据库显示在datagridview
dateset
或datatable或进行数据绑定,如有什么问题,请继续追问
private
dataset
ds
=
new
dataset();
private
sqldataadapter
adapter
=
new
sqldataadapter();//创建数据适配器
sqlcommand
com
=
new
sqlcommand(“select
teacguid,
teacname
as
姓名,teacsex
as
性
别,teacsalary
as
工资,teacremark
as
备注
from
teachers”,
dbhelper.con);
adapter.selectcommand
=
com;
adapter.fill(ds,
“teachers”);//将按照条件查出来的teachers表中信息填充到ds中
this.datagridview1.datasource
=
ds.tables;
附上一段用dataset实现的代码,如果有疑问,请继续追问,如果没有,请采纳,万分感谢
//数据库连接信息,server=.表示本地数据源,database是数据库名,后面是sql登陆名、密码
string constr = “server=.;database=School;uid=123;pwd=123;”;
SqlConnection conn = new SqlConnection(constr);//创建数据库连接
conn.Open();//打开连接
SqlDataAdapter sda = new SqlDataAdapter(“select * from Student”, conn);//读取表数据
DataTable dt = new DataTable();//dt是一个表类型。
sda.Fill(dt);//把sda读取的数据填到dt里
VB.NET将datagridview的数据插入数据库
Dim strConn As String = “driver={microsoft access driver (*.mdb)};uid=admin;pwd=;dbq=” &
Application.StartupPath & “ACCESS.MDB”
Dim cn As New OdbcConnection(strConn)
cn.Open()
Dim da As New OdbcDataAdapter(“Select * From 表名”, cn)
Dim ds As New DataSet
da.Fill(ds, “表名”)
Dim cmdBuilder As New OdbcCommandBuilder(da)
da.InsertCommand = cmdBuilder.GetInsertCommand
With ds.Tables(“表名”)
For i = 0 to DataGridView1.Rows.Count – 1
Dim dr As DataRow = .NewRow
dr(“列名1”) = DataGridView1中的值
.
.
.
dr(“列名n”) = DataGridView1中的值
.Rows.Add(dr)
next
End With
da.Update(ds.Tables(“表名”))
cn.Close()
C# 如何把datagridview里的数据写入数据库里
添加个按羡带樱钮(保行并存)-编辑按钮的兄丛点击事件
SqlDataAdapter da = new SqlDataAdapter(sql,connection); //用于传输数据
SqlCommandBuilder buder = new SqlCommandBuilder (da); //用于生成SQL语句
da.Update(dataSet); 更新dataset中的数据
点击保存按钮的时候执行gridview的SqlCommandBuilder方法
datagridview是一个容器,装载数据的,怎么编辑呢?
加个按钮,写个添加语句嘛
要用到SqlCommandBuilder这个的!
你QQ多少发个给你参考
关于datagridview 数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
来源地址:DataGridView展示数据库数据 (datagridview 数据库)
转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:www.88531.cn资享网,谢谢!^^