LIstView不好用,代碼比較復雜,可以選用DataGridView
第壹步:設計好ContextMenuStrip內容。
設計界面,?DataGridView重要屬性包括:
Columns包含的列的集合,其中內容重要的包括:
DataPropertyName?綁定的數據列的名稱,如上面TeacherId,LoginId等
HeaderText列標題文本,如上面LoginId的文本是用戶名
Visible?如TeacherId是主鍵,沒顯示,設為false,而LoginId有顯示
Frozen指定水平滾動DataGridView時列是否移動
ReadOnly指定單元格是否為只讀
DataSourceDataGridView?的數據源,可以在程序中指定,也可以在屬性中設置
ReadOnly?是否可以編輯單元格
AllowUserToAdd?是否允許用戶添加新的信息進去,比如增加壹個新的教員信息
AutoSizeColumnsMode?Columns中列的集合自動排列大小填充整個DataGridView窗口
RowHeaderVisible頭壹列是否要顯示
第二步,確定需要的SQL語句,
如string?teacherSql?=?"SELECT?TeacherID,LoginId,LoginPwd,TeacherName,Sex,BirthDay?FROM?Teacher";要填充進DataGridView的內容包括了LoginId,LoginPwd,TeacherName,Sex,BirthDay這幾項,另,還有壹個TeacherID不顯示,該項對應的Columns的Visible屬性為false
第三步,編寫代碼:
關鍵代碼如下:
(大部分代碼都可以直接抄寫,藍色是註解可以不要,紅色部分需要修改,要註意)
A.定義全局變量,相關說明見使用《數據集和數據適配器》。
private?DataSet?dataSet?=?new?DataSet();?//?聲明並初始化DataSet private?SqlDataAdapter?dataAdapter;//?聲明DataAdapter?B.填充DataGridView窗體
string?teacherSql?=?"SELECT?TeacherID,LoginId,LoginPwd,TeacherName,Sex,BirthDay?FROM?Teacher";//查詢語句按題目要求自行確定//?初始化DataAdapter,使用合適的查詢字符串
dataAdapter?=?new?SqlDataAdapter(teacherSql,?DBHelper.connection);?
//?填充DataSet,填充進去的表名字按實際題目自行定義
dataAdapter.Fill(dataSet,?"Teacher");//?綁定DataGridView的數據源
dgvTeacher.DataSource?=?dataSet.Tables["Teacher"];C.修改後保存修改DataGridView窗體中內容到數據庫中
SqlCommandBuilder?builder?=?new?SqlCommandBuilder(dataAdapter);//自動生成對應的SQL語句
dataAdapter.Update(dataSet,?"Teacher");//提交到數據庫中,如果dataSet中有多個表,那麽"Teacher"就是指定提交那個表的數據給數據庫
d.如果需要按其他條件重新查詢壹些信息填到DataGridView窗體中:
//?先把到DataGridView窗體中的內容全部清除掉
dataSet.Tables["Student"].Clear();
//?重新指定DataAdapter?對象的查詢語句,此前要修改SQL查詢語句
dataAdapter.SelectCommand.CommandText?=?sql;
//?重新填充數據集
dataAdapter.Fill(dataSet,?"Student");