using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DataSetTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Init();
}
private void Init()
{
//创建虚拟数据库
DataSet dataSet = new DataSet();
//创建数据表
DataTable table = new DataTable("数据表");
DataColumn column;
DataRow row;
//创建主键列
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "ID";
column.Caption = "ID";
column.ReadOnly = true;
column.Unique = true;
table.Columns.Add(column);
//创建其它列
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "用户名";
column.AutoIncrement = false;
column.Caption = "用户名";
column.ReadOnly = false;
column.Unique = false;
table.Columns.Add(column);
//设置主键
DataColumn[] PrimaryKeyColumns = new DataColumn[1];
PrimaryKeyColumns[0] = table.Columns["ID"];
table.PrimaryKey = PrimaryKeyColumns;
//表添加入数据库
dataSet.Tables.Add(table);
//向表中插入数据
for (int i = 0; i <= 5; i++)
{
row = table.NewRow();
row["ID"] = i;
row["用户名"] = "名字" + i;
table.Rows.Add(row);
}
dataGridView1.AllowUserToAddRows = false;
dataGridView1.DataSource = table;
}
}
}
运行效果
示例二: DataGridView先手动创建好列,再绑定数据
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DataSetTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Init();
}
private void Init()
{
//创建虚拟数据库
DataSet dataSet = new DataSet();
//创建数据表
DataTable table = new DataTable("数据表");
DataColumn column;
DataRow row;
//创建主键列
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "ID";
column.Caption = "ID";
column.ReadOnly = true;
column.Unique = true;
table.Columns.Add(column);
//创建其它列
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "UserName";
column.AutoIncrement = false;
column.Caption = "用户名";
column.ReadOnly = false;
column.Unique = false;
table.Columns.Add(column);
column = new DataColumn();
column.DataType = System.Type.GetType("System.Boolean");
column.ColumnName = "IsEnabled";
column.AutoIncrement = false;
column.Caption = "开启";
column.ReadOnly = false;
column.Unique = false;
table.Columns.Add(column);
//设置主键
DataColumn[] PrimaryKeyColumns = new DataColumn[1];
PrimaryKeyColumns[0] = table.Columns["ID"];
table.PrimaryKey = PrimaryKeyColumns;
//表添加入数据库
dataSet.Tables.Add(table);
//向表中插入数据
for (int i = 0; i <= 5; i++)
{
row = table.NewRow();
row["ID"] = i;
row["UserName"] = "名字" + i;
row["IsEnabled"] = true;
table.Rows.Add(row);
}
//DataGridView的列与数据表中的列(ColumnName)绑定
//这种情况适合于已经手动在DataGridView中创建了列,只想为这些列绑定数据。
dataGridView1.Columns[0].DataPropertyName = "ID";
dataGridView1.Columns[1].DataPropertyName = "UserName";
dataGridView1.Columns[2].DataPropertyName = "IsEnabled";
//禁止自动创建新列
dataGridView1.AutoGenerateColumns = false;
//禁止自动添加新行
dataGridView1.AllowUserToAddRows = false;
dataGridView1.DataSource = table;
}
}
}
效果
运行