[英]c# DataGridView & oledb
我在MS Access中有一個數據庫。
而且我將表單中的數據放置在數據庫中的datagridview中。
string connectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + Application.StartupPath + "/Db.mdb";
OleDbConnection conObj = new OleDbConnection(connectionString);
conObj.Open();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
ds.Tables.Add(dt);
OleDbDataAdapter da = new OleDbDataAdapter();
da = new OleDbDataAdapter("SELECT * FROM StopMaster", conObj);
da.Fill(dt);
dataGridView1.DataSource = dt.DefaultView;
conObj.Close();
執行后,它將顯示datagridview及其數據庫中的項目,
以及一個空行,我們可以在其中添加新數據,如果單擊包含數據的現有行的項目,我們可以對其進行更新甚至刪除
如何為該更新編寫代碼,刪除並添加並反映到數據庫中,是否有任何事件或事件
還如何使數據網格視圖列不可調整大小。
還說如果我單擊列標題時在datagridview中是否有兩列“名稱”和“ pin碼”,現在說“ pin碼”,則必須按順序對datagridview行進行排序
是否有任何事件以及如何做到這一點
首先要提到的是,您將需要將數據表綁定到Datagridview。 這樣一來,您在編輯DataGridView控件時所做的任何更改都會直接反映到基礎DataTable中。
我假設您已經填充了DataTable對象。
首先創建BindingSource對象:
BindingSource bs = new BindingSource();
bs.Datasource = dt;
現在,我們需要將此綁定對象作為DataGridView控件的數據源:
dataGridView1.DataSource = bs;
在一種方法中,您可以使用以下代碼來提交更改:
using (OleDbConnection con = new OleDbConnection(connectionString))
{
var adaptor = new OleDbDataAdapter();
adaptor.SelectCommand = new OleDbCommand(""SELECT * FROM [StopMaster]", con);
var cbr = new OleDbCommandBuilder(adaptor);
cbr.GetDeleteCommand();
cbr.GetInsertCommand();
cbr.GetUpdateCommand();
try
{
con.Open();
adaptor.Update(dt);
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Message, "OledbException Error");
}
catch (Exception x)
{
MessageBox.Show(x.Message, "Exception Error");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.