尝试获取DataGridView以反映对基础数据的更改(未成功)
本文关键字:数据 未成功 DataGridView 获取 | 更新日期: 2023-09-27 18:27:44
我是这个小组的新手,但最近对c#产生了兴趣。现在我要为这个问题而烦恼了。拥有一个带有各种控件的winform,这些控件可以更改基础数据。当按下一个按钮时,我希望DataGridView能够反映数据中的更改。
我真的很挣扎。
以下是代码的简化版本:
namespace WinFormsAppReportsPortal
{
public partial class Form1 : Form
{
public Form1(){
InitializeComponent();
}
SqlDataAdapter myAdapt = null;
DataSet mySet = null;
DataTable myTable = null;
private void Form1_Load(object sender, EventArgs e){
InitializeGridView();
}
private void btRunProcessAndRefresh_Click(object sender, EventArgs e){
Process.Start(@"''fileserve'department$'ReportScheduler_v3.exe", "12");
InitializeGridView();
}
private void btnALWAYSWORKS_Click(object sender, EventArgs e) {
InitializeGridView();
}
private void InitializeGridView() {
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings ["xxx"].ConnectionString))
{
myAdapt = new SqlDataAdapter("SELECT * FROM WHyy.dbo.Controltb_zzz ORDER BY XLReportDescription", conn);
mySet = new DataSet();
myAdapt.Fill(mySet, "AvailableValues");
myTable = mySet.Tables["AvailableValues"];
this.dataGridViewControlTable.DataSource = myTable;
this.dataGridViewControlTable.AllowUserToOrderColumns = true;
}
}
}
}
您可能必须在GridView上调用DataBind()才能刷新它。
因此,在InitializeGridView()中,在设置DataSource之后,尝试:
this.dataGridViewControlTable.DataBind();
调用this.dataGridViewControlTable.ResetBindings()
-有关详细信息,包括示例源代码和说明,请参阅MSDN。