属性 |
说明 |
Columns |
包含的列的集合 |
DataSource |
DataGridView 的数据源 |
ReadOnly |
是否可以编辑单元格 |
属性 |
说明 |
DataPropertyName |
绑定的数据列的名称 |
HeaderText |
列标题文本 |
Visible |
指定列是否可见 |
Frozen |
指定水平滚动DataGridView时列是否移动 |
ReadOnly |
指定单元格是否为只读 |
2 private DataSet dataSet; // 数据集
3
4
5
6 /////////////////////////////////////////////////////////////////////////////////
7
8
9 // 窗体加载时,填充数据集
10 private void QuestionListForm_Load(object sender, EventArgs e)
11 {
12 // 查询数据库用的 SQL 语句
13 string sql = "SELECT QuestionID, Question, OptionA,
OptionB,OptionC,OptionD,Answer, Difficulty FROM Question";
14 // 创建数据集对象
15 dataAdapter = new SqlDataAdapter(sql, DBHelper.connection);
16 // 创建数据集对象
17 dataSet = new DataSet("MySchool");
18
19 // 填充数据集
20 dataAdapter.Fill(dataSet,"Question");
21
22 // 指定 DataGridView 的数据源
23 dgvQuestion.DataSource = dataSet.Tables["Question"];
24 }
25
26 private void btnClose_Click(object sender, EventArgs e)
27 {
28 this.Close();
29 }
30
31 // 把修改过的数据提交到数据库
32 private void btnUpdate_Click(object sender, EventArgs e)
33 {
34 // 向用户确认操作
35 DialogResult result = MessageBox.Show("确实要保存修改吗?",
"操作提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
36
37 if (result == DialogResult.Yes)
38 {
39 // 自动生成用于更新的命令
40 SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);
41
42 // 将数据集中修改过的数据,提交到数据库
43 dataAdapter.Update(dataSet, "Question");
44 }
45 }
46
47 // 重新填充数据集
48 private void btnReFresh_Click(object sender, EventArgs e)
49 {
50 // 清空原来表中的数据
51 dataSet.Tables["Question"].Clear();
52 // 填充数据集
53 dataAdapter.Fill(dataSet,"Question");