您好,登錄后才能下訂單哦!
DataGridView控件怎么在C#項目中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1) 創建課程信息表創建課程信息表的 SQL 語句如下。
use test; create table course ( id int primary key identity(1,1), name varchar(20), credit numeric(3,1), remark varchar(50) );
向表中添加數據的語句如下。
insert into course (name, credit, remark) values ('計算機基石 ' , 2, '無'); insert into course (name, credit, remark) values ('C# 程序開發', 2.5 , '機房授課'); insert into course (name, credit, remark) values ('數據庫原理',1,'無'); insert into course (name, credit, remark) values ('體育',1,'無'); insert into course (name, credit, remark) values ('職業素養培訓',0.5,'無');
在 SQL Server 中執行上述 SQL 語句即可完成課程信息表(course)的創建和數據的添加。
2) 課程信息管理界面的設計在課程信息管理界面中提供了 DataGridView 控件用于顯示課程信息,并提供了根據課程名稱查找課程信息、修改以及刪除的功能。
具體的界面設計如下圖所示。
3) 在加載窗體時顯示所有課程信息本例中使用編寫代碼的方式實現 DataGridView 控件的數據綁定,并在窗體的加載事件中加入數據綁定的代碼。
由于查詢所有課程信息的代碼將在后面的修改和刪除功能中重復使用,所以單獨定義一個方法來實現查詢所有課程信息。代碼如下。
//窗體加載事件 private void DataGridViewForm_Load(object sender, EventArgs e) { //調用查詢全部課程的方法 QueryAllCourse(); } //查詢全部課程 private void QueryAllCourse() { //數據庫連接串 string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root"; //創建SqlConnection的實例 SqlConnection conn = null; try { conn = new SqlConnection(connStr); //打開數據庫 conn.Open(); string sql = "select * from course"; //創建SqlDataAdapter類的對象 SqlDataAdapter sda = new SqlDataAdapter(sql, conn); //創建DataSet類的對象 DataSet ds = new DataSet(); //使用SqlDataAdapter對象sda將查新結果填充到DataSet對象ds中 sda.Fill(ds); //設置表格控件的DataSource屬性 dataGridView1.DataSource = ds.Tables[0]; //設置數據表格上顯示的列標題 dataGridView1.Columns[0].HeaderText = "編號"; dataGridView1.Columns[1].HeaderText = "課程名稱"; dataGridView1.Columns[2].HeaderText = "學分"; dataGridView1.Columns[3].HeaderText = "備注"; //設置數據表格為只讀 dataGridView1.ReadOnly = true; //不允許添加行 dataGridView1.AllowUserToAddRows = false; //背景為白色 dataGridView1.BackgroundColor = Color.White; //只允許選中單行 dataGridView1.MultiSelect = false; //整行選中 dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; } catch (Exception ex) { MessageBox.Show("查詢錯誤!" + ex.Message); } finally { if (conn != null) { //關閉數據庫連接 conn.Close(); } } }
運行該窗體,效果如下圖所示。
4) 完成課程名稱的模糊查詢在“查詢”按鈕的單擊事件中加入根據課程名稱模糊查詢的代碼,具體如下。
//查詢按鈕單擊事件 private void button1_Click(object sender, EventArgs e) { if (textBox1.Text != "") { //數據庫連接串 string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root"; //創建SqlConnection的實例 SqlConnection conn = null; try { conn = new SqlConnection(connStr); //打開數據庫 conn.Open(); string sql = "select * from course where name like '%{0}%'"; //填充占位符 sql = string.Format(sql, textBox1.Text); //創建SqlDataAdapter類的對象 SqlDataAdapter sda = new SqlDataAdapter(sql, conn); //創建DataSet類的對象 DataSet ds = new DataSet(); //使用SqlDataAdapter對象sda將查新結果填充到DataSet對象ds中 sda.Fill(ds); //設置表格控件的DataSource屬性 dataGridView1.DataSource = ds.Tables[0]; } catch (Exception ex) { MessageBox.Show("出現錯誤!" + ex.Message); } finally { if (conn != null) { //關閉數據庫連接 conn.Close(); } } } }
運行該窗體,查詢效果如下圖所示。
從上面的運行效果可以看出,在文本框中輸入“計算機”,則可以實現查詢所有課程 名稱中含有“計算機”字樣的課程信息。
5) 實現修改功能在 DataGridView 控件中選中一條課程信息,單擊“修改”按鈕,彈出修改課程信息界面并在該界面中顯示要修改的信息,修改界面的設計如下圖所示。
選中 DataGridView 控件的一條課程信息,單擊“修改”按鈕。
“修改”按鈕的單擊事件中的代碼如下。 //修改課程信息 private void button2_Click(object sender, EventArgs e) { //獲取DataGridView控件中的值 //獲取課程編號 string id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString(); //獲取課程名稱 string name = dataGridView1.SelectedRows[0].Cells[1].Value.ToString(); //獲取課程名稱 string credit = dataGridView1.SelectedRows[0].Cells[2].Value.ToString(); //獲取課程名稱 string remark = dataGridView1.SelectedRows[0].Cells[3].Value.ToString(); //創建updateForm類的對象,并將課程信息傳遞給修改界面 updateForm updateform = new updateForm(id, name, credit, remark); //彈出修改信息窗口 DialogResult dr = updateForm.ShowDialog(); //判斷是否單擊確定按鈕 if (dr == DialogResult.OK) { //調用查詢全部課程方法 QueryAllCourse(); } }
修改界面 (UpdateForm) 中的代碼如下。
//帶參數的構造方法 public updateForm(string id,string name,string credit,string remark) { InitializeComponent(); textBox1.Text = id; textBox2.Text = name; textBox3.Text = credit; textBox4.Text = remark; } //確認按鈕單擊事件 private void button1_Click(object sender, EventArgs e) { //數據庫連接串 string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root"; //創建SqlConnection的實例 SqlConnection conn = null; try { conn = new SqlConnection(connStr); //打開數據庫 conn.Open(); string sql = "update course set name='{0}',credit='{1}',remark='{2}' where id='{3}'"; //填充占位符 sql = string.Format(sql, textBox2.Text, textBox3.Text, textBox4.Text, textBox1.Text); //創建SqlCommand類的對象 SqlCommand cmd = new SqlCommand(sql, conn); //執行修改操作的SQL cmd.ExecuteNonQuery(); //彈出成功提示 MessageBox.Show("修改成功!"); //設置當前窗體DislogResult結果為OK this.DialogResult = DialogResult.OK; //關閉窗體 this.Close(); } catch (Exception ex) { MessageBox.Show("修改失敗!" + ex.Message); } finally { if (conn != null) { //關閉數據庫連接 conn.Close(); } } } //取消按鈕單擊事件 private void button2_Click(object sender, EventArgs e) { //關閉窗體 this.Close(); }
修改操作的運行效果如下圖所示。
6) 實現刪除功能為“刪除”按鈕添加單擊事件,將選中的課程信息刪除并刷新界面中查詢出來的數據。實現的代碼如下。
//刪除按鈕的單擊事件 private void button3_Click(object sender, EventArgs e) { //獲取DataGridView控件中選中行的編號列的值 int id = int.Parse(dataGridView1.SelectedRows[0].Cells[0].Value.ToString()); //數據庫連接串 string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root"; //創建SqlConnection的實例 SqlConnection conn = null; try { conn = new SqlConnection(connStr); //打開數據庫 conn.Open(); string sql = "delect from course where id='{0}'"; //填充占位符 sql = string.Format(sql, id); //創建SqlCommand類的對象 SqlCommand cmd = new SqlCommand(sql, conn); //執行SQL語句 cmd.ExecuteNonQuery(); //彈出消息提示刪除成功 MessageBox.Show("刪除成功!"); //調用查詢全部的方法,刷新DataGridView控件中的數據 QueryAllCourse(); } catch (Exception ex) { MessageBox.Show("刪除失敗!" + ex.Message); } finally { if (conn != null) { //關閉數據庫連接 conn.Close(); } } }
刪除操作的運行效果如下圖所示。
單擊刪除消息框中的“確定”按鈕,'即可刷新 DataGridView 控件中的數據。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。