1. 程式人生 > >DataGridView直接修改資料並且更新資料庫(轉)

DataGridView直接修改資料並且更新資料庫(轉)

1、 兩個屬性設定:
第一個:設定自動建立列,預設為True
DataGridView1. AutoGenerateColumns = True;
雖然預設為True,但寫下去總是好的!!!
第二個:滑鼠單擊編輯,預設雙擊
DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;

dataGridView1.ReadOnly = true;//整個表格只讀
dataGridView1.Columns[1].ReadOnly = true;//列只讀
dataGridView1.Rows[0].ReadOnly = true;//行只讀
dataGridView1[3,3].ReadOnly = true;//單元格只讀

DataGridView顯示資料

private void GetDataGridView()
{
try
{
string strda = "select * from FilTer";
SqlConnection conn = connection();
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(strda, conn);
da.Fill(ds, "顯示資料");
conn.Close();
dataGridView1.AutoGenerateColumns = true;//自動建立列
dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;//單擊單元格編輯
dataGridView1.DataSource = ds.Tables[0];
}
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
}

更新資料庫

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
SqlConnection conn = connection();
try
{
string strcolumn = dataGridView1.Columns[e.ColumnIndex].HeaderText;//獲取列標題
string strrow = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();//獲取焦點觸發行的第一個值
string value = dataGridView1.CurrentCell.Value.ToString();//獲取當前點選的活動單元格的值
string strcomm = "update FilTer set " + strcolumn + "='" + value + "'where id = " + strrow;
//update FilTer set 列名 = value where id = 3
conn.Open();
SqlCommand comm = new SqlCommand(strcomm, conn);
comm.ExecuteNonQuery();
}
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
finally
{
conn.Close();
}
}
---------------------
作者:秋風十里
來源:CSDN
原文:https://blog.csdn.net/qq_23833037/article/details/52167239
版權宣告:本文為博主原創文章,轉載請附上博文連結!