我的方法仅在从我的应用程序的某个特定区域调用时才有效

时间:2017-08-28 15:14:20

标签: c# datagridview

很抱歉,如果这是一个非常愚蠢的问题,但我已经围绕这个问题转了一圈。

我正在使用带有Windows窗体的C#来创建应用程序,并且有一个方法可以绑定数据网格视图中的数据。以下是该方法的示例:

 private void BindGrid()
    {
        string constring = @"Data Source=.\SQLEXPRESS; Database=DB; 
integrated security=False;User ID=UserID;Password=Password";
        using (SqlConnection con = new SqlConnection(constring))
        {
            using (SqlCommand cmd = new SqlCommand("SET DATEFIRST 1 Select 
Table1.Value1 From Table1...........", con))
            {
                cmd.CommandType = CommandType.Text;
                using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                {
                    using (DataTable dt = new DataTable())
                    {
                        sda.Fill(dt);
                        dataGridView1.DataSource = dt;
                    }
                }
            }
        }
    }

我调用此方法三次,一次是在加载应用程序时,一次是在我更新数据时,一次是从与其他方法无关的按钮调用。

不幸的是,此方法仅在按钮单击时起作用,而在其他方式调用时则不起作用。我尝试过多种方式解决这个问题,包括刷新数据源并从另一个按钮调用方法。

为什么此方法仅在从按钮单击调用时才起作用,如何从应用程序的其他区域以编程方式调用它?

在这里工作:

  private void button1_Click(object sender, EventArgs e)
    { 
        BindGrid();
    }

在这里不起作用:

 private void button3_Click(object sender, EventArgs e)
    {
        if (dataGridView1.SelectedRows.Count > 0)

         {

            MethodAdjustRemaining();
            MethodPackOneSent();
            MethodMessage();
            //MethodUpdateData();
            BindGrid();

        }

        else
        {

            MessageBox.Show("Please select a row");
        }
    }

非常感谢您的帮助:)

0 个答案:

没有答案