尝试获取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;
        }
    }
  }
}

尝试获取DataGridView以反映对基础数据的更改(未成功)

您可能必须在GridView上调用DataBind()才能刷新它。

因此,在InitializeGridView()中,在设置DataSource之后,尝试:

this.dataGridViewControlTable.DataBind();

调用this.dataGridViewControlTable.ResetBindings()-有关详细信息,包括示例源代码和说明,请参阅MSDN。