簡體   English   中英

刷新按鈕 - 插入,刪除,更新后刷新數據網格視圖

[英]Refresh button - Refreshing data grid view after inserting, deleting, updating

我正在嘗試創建一個刷新按鈕,以便在完成更新后自動刷新datagridview中的數據。

但是,我的刷新按鈕似乎不起作用。 顯示的數據與原始數據保持一致。 它只在我手動結束我的Windows應用程序並重建它后才會更新。

這是我的代碼:

 private void button_refresh_Click(object sender, EventArgs e)
        {
            this.acuzioSecureStore_DatabaseXDataSet.AcceptChanges();
        }

請協助。 謝謝^ _ ^

處理此問題的最簡單方法是使用Binding Source對象。

如果從Access數據庫將信息加載到DataGridView中,則最有可能將數據存儲在數據集或DataTable中。

創建一個Binding Source對象,一旦填充了DataTable / Dataset,就可以將綁定源的數據源設置為DataTable。 然后將DataGridView中的Datasource設置為Binding Source對象。

這樣做可確保您的datagridview中的任何更改或反映在DataTable和Versa中。 如果將數據重新加載到DataTable中,它將自動反映在數據網格中。

DataTable dt = new DataTable();

BindingSource bs = new BindingSource();

bs.DataSource = dt;

dataGridView1.DataSource= bs;

現在所有更改都將自動進行。

嘿上面的解決方案很好但是當執行上面的代碼時,表格消失了,沒有看到。 如果我執行

        da.Fill(ds, "p");
        dataGridView1.DataSource = ds.Tables["p"];

然后再次創建整個表。

private void button_refresh_Click(object sender, EventArgs e)
        {
            SqlConnection con=new SqlConnection(@"");
            string query="select * from abc";
            SqlCommand cmd=new SqlCommand(query,con);
            SqlDataAdapter da=new SqlDataadapter(cmd);
            DataTable dt=new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource=dt;
        }

我有一個datagridview,綁定到Entity Framework數據庫中的表:

dataGridView1.DataSource = MyDatabase.MyTable;

盡管浪費了兩天,它永遠不會刷新。 我用一個簡單的解決方法解決了它:

private void button_refresh_Click(object sender, EventArgs e) {
    dataGridView1.DataSource = MyDatabase.MyTable.Where(i =>(true));
}

一個丑陋的解決方法,朋友向我解釋了它是如何工作的 - 如果我只做dataGridView1.DataSource = database.table ,它將緩存表並永遠使用緩存的數據。 每次我們創建一個新的虛擬查詢時,都會阻止.net緩存它。

請嘗試這個,它對我有用,如果你有更好的選擇讓我知道。

private void button3_Click(object sender, EventArgs e)
{
    dataGridView1.Refresh();
}

你可以綁定dataGridView在PageLoad或UserControl上加載事件和在網格視圖中查看后調用加載事件

喜歡

this.ucUsers_Load(null,null); //來自C#的Windows

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM