[英]How to create “Refresh” button for datagridview in C#?
我的問題是,當我創建一個單擊新拍賣或刪除拍賣時刷新數據網格的按鈕時,什么也沒有發生,甚至出現了一些語法錯誤。 所以我需要:
刷新按鈕,這是我通過XAML
。 因此,當單擊刪除按鈕時,我也需要刪除一行。 但是,我的刷新無效。 我需要從應用程序注銷並再次登錄,以進行一些更改。 我真的不知道該怎么做。
我將在下面提供一些圖片以及一些代碼。
默認登錄:
添加銷售或刪除銷售,然后注銷並重新登錄:
我嘗試制作一個可以自動更新的數據網格。 我嘗試制作此按鈕,遇到一些語法錯誤,也嘗試添加dgGridView.Items.Refresh()
,但也沒有幫助。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
BindDataGrid();
}
private void BindDataGrid()
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["ConnString"].ToString();
conn.Open();
SqlCommand comm = new SqlCommand("SELECT * FROM AuctionTbl2", conn);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(comm);
da.Fill(ds);
dgGrid.ItemsSource = ds.Tables[0].DefaultView;
dgGrid.Items.Refresh();
}
private void LogoutBtn_Click(object sender, RoutedEventArgs e)
{
MainWindowGuest mwg = new MainWindowGuest();
mwg.Show();
this.Close();
MessageBox.Show("You have been logged out.");
}
private void DeleteBtn_Click(object sender, RoutedEventArgs e)
{
try
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
ConfigurationManager.ConnectionStrings["ConnString"].ToString();
conn.Open();
string query = "delete from AuctionTbl2";
SqlCommand comm = new SqlCommand(query, conn);
comm.ExecuteNonQuery();
MessageBox.Show("Deleted");
conn.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void AddNew_Click(object sender, RoutedEventArgs e)
{
NewDeleteWindow newDeleteWindow = new NewDeleteWindow();
newDeleteWindow.DataContext = new NewSaveButton();
newDeleteWindow.ShowDialog();
}
}
}
我希望在添加或刪除銷售,使用刷新按鈕或不使用銷售按鈕時進行刷新。 只是為了刷新此網格。 謝謝你們。
您必須更新table
,就像在加載form
時更新t一樣。 在代碼中替換以下方法:
private void DeleteBtn_Click(object sender, RoutedEventArgs e)
{
try
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
ConfigurationManager.ConnectionStrings["ConnString"].ToString();
conn.Open();
string query = "delete from AuctionTbl2"; // i think you are not aaully deleting the record you want to delete
SqlCommand comm = new SqlCommand(query, conn);
comm.ExecuteNonQuery();
MessageBox.Show("Deleted");
conn.Close();
BindDataGrid();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void AddNew_Click(object sender, RoutedEventArgs e)
{
NewDeleteWindow newDeleteWindow = new NewDeleteWindow();
newDeleteWindow.DataContext = new NewSaveButton();
newDeleteWindow.ShowDialog();
BindDataGrid();
}
更新:要刪除您單擊的sale
,請按照下列步驟操作:
global variable
“ int IDdelete”。 Designer.cs
。 dataGridView
。 Properties
”。 events
。 CellClick
並雙擊它。 private void dgGrid_CellClick(object sender, DataGridViewCellEventArgs e)
private void dgGrid_CellClick(object sender, DataGridViewCellEventArgs e)
{
IDdelete = Convert.InTo32(dgGrid.Rows[e.RowIndex].Cells[0].Value);
}
Now, in your `SQL query` use this query.
"DELETE from AuctionTbl2 where id=@IDelete";
在Add
和delete
塊之后嘗試此操作。
DataTable dt = dal.select();
dgGrid.DataSource = dt;
如果無法解決,請在Skype上ping我: vipinweb2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.