我是这个小组的新手,但最近开始尝试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;
}
}
}
}
答案 0 :(得分:0)
您可能必须在GridView上调用DataBind()才能刷新它。
因此,在InitializeGridView()中,设置DataSource后尝试:
this.dataGridViewControlTable.DataBind();
答案 1 :(得分:0)
致电this.dataGridViewControlTable.ResetBindings()
- 有关详细信息,包括示例来源和说明,请参阅MSDN。