dgv在当前上下文中不存在

时间:2012-11-02 18:00:33

标签: c# mysql winforms

    public partial class Form7 : Form
{
    private MySqlDataAdapter da;
    private MySqlConnection conn;
    BindingSource bsource = new BindingSource();
    DataSet ds = null;
    string sql;


    public Form7()
    {
        InitializeComponent();
    }

    private void LoadData()
    {
        string connectionString = "Data Source=localhost;database=d1; uid=root; password=123;port=3307;";
        conn = new MySqlConnection(connectionString);
        sql = "SELECT Name, Address, id, Status FROM t1";

        da = new MySqlDataAdapter(sql, conn);
        conn.Open();
        ds = new DataSet();
        MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(da);
        da.Fill(ds, "Orders");
        bsource.DataSource = ds.Tables["Orders"];
        dgv.DataSource = bsource;
    }

它给我一个错误调用“dgv在当前上下文中不存在”我该怎么办?我使用任何包裹或东西???请帮我解决一下我的问题...

3 个答案:

答案 0 :(得分:0)

您的代码似乎缺少dgv对象,例如:private DataGridView dgv = new DataGridView();

请参阅msdn。

中的example部分

答案 1 :(得分:0)

检查您的标记文件(可能是文件类型* .ascx或* .aspx)并确保您实际调用了DataGrid对象“dgv”。我之前遇到过确切的错误,原因是错误拼写了对象名称。只需将标记文件中的名称复制并粘贴到您的代码文件中,以确保拼写正确!

答案 2 :(得分:-1)

标记文件可能有问题。如果您在wpf窗口中使用带有datagridview的Windows窗体宿主,则可能是由于名称空间解析所致。使用x:Name代替Name在xaml中为其命名。