数据库绑定控件DataGridView属性、方法和事件
DataGridView属性、方法和事件
1.DataGridView属性
DataGridView控件常用属性及说明如表1所示。
下面对比较重要的属性进行详细介绍。
(1) AutoGenerateColumns属性。用于获取或设置一个值,该值指示在设置数据源DataSource或DataMember属性时,是否自动创建列。
语法:
public bool AutoGenerateColumns { get; set; }
属性值:如果自动创建列,则为True;否则为False。默认值为True。
(2)ColumnCount属性。用于获取或设置DataGridView控件中显示的列数。
语法:
public int ColumnCount { get; set; }
属性值:DataGridView控件中显示的列数。
例如,指定DataGridView控件的ColumnCount属性值为4,则在窗体中只显示4列数据,其代码如下:
dataGridView1.ColumnCount = 4;
(3)Dock属性。使用Dock属性可以定义在调整控件的父控件大小时,如何自动调整控件的大小。
语法:
[LocalizableAttribute(True)]
public virtual DockStyle Dock { get; set; }
属性值:指定控件停靠的位置和方式值之一。默认值为None。
例如,将Dock属性值设置为DockStyle.Left,将导致控件与其父控件的左边缘对齐,并在父控件调整大小时调整自身大小,其代码如下:
dataGridView1.Dock = DockStyle. Left
知识扩展:DockStyle枚举是指定控件停靠的位置和方式,其主要成员如表2所示。
(4)DataSource属性。用于获取或设置DataGridView控件所显示数据的数据源。
语法:
public Object DataSource { get; set; }
属性值:包含DataGridView控件要显示的数据的对象
示例
AutoGenerateColumns和DataSource属性的使用
本示例通过设置DataGridView控件的DataSource属性值,对数据控件DataGridView进行绑定,显示学生的基本信息。示例运行结果如图1所示。

图1 显示学生的基本信息
程序代码如下。
在窗体的Load事件下调用自定义方法GetData获取数据源DataSource的属性,对数据控件dataGridView进行绑定,其代码如下:
private void Form1_Load(object sender, EventArgs e)
{
try
{
dataGridView1.Dock = DockStyle.Fill;
dataGridView1.AutoGenerateColumns = True;
dataGridView1.DataSource = GetData("Select * From tb_Stu");
dataGridView1.AutoSizeRowsMode = DataGrid ViewAutoSizeRows Mode. DisplayedCellsExceptHeaders;
dataGridView1.BorderStyle = BorderStyle.Fixed3D;
dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
}
atch (SqlException)
{
MessageBox.Show("获取数据失败!", "ERROR",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
System.Threading.Thread.CurrentThread.Abort();
}
}
完整程序代码如下:
★ ★★★★Program.cs主程序文件完整程序代码★★★★★
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace _2_01
{
static class Program
{
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
★ ★★★★Form1.cs窗体代码文件完整程序代码★★★★★
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace _2_01
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// 对数据控件dataGridView进行绑定,并设置一些相关属性
private void Form1_Load(object sender, EventArgs e)
{
try
{
dataGridView1.Dock = DockStyle.Fill;
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = GetData("Select * From tb_Stu");
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
dataGridView1.BorderStyle = BorderStyle.Fixed3D;
dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
}
catch (SqlException)
{
MessageBox.Show("获取数据失败!", "ERROR",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
System.Threading.Thread.CurrentThread.Abort();