GridView未绑定到C#

GridView未绑定到C#,c#,asp.net,gridview,data-binding,syncfusion,C#,Asp.net,Gridview,Data Binding,Syncfusion,我正在使用GridView并尝试将数据绑定到此GridView,但我遇到了一个不寻常的问题,下面是我的代码: 绑定GridView的方法: private void BindDataSource() { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString); string querySt

我正在使用GridView并尝试将数据绑定到此GridView,但我遇到了一个不寻常的问题,下面是我的代码:

绑定GridView的方法:

private void BindDataSource()
    {
        SqlConnection con = new         SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString);
        string queryString6 = "";
        string items = "";
        if (lb_add_col.Items.Count > 0)
        {
            foreach (ListItem listItem in lb_add_col.Items)
            {
                if (listItem.Selected == true)
                {
                    items += listItem.Text + ",";
                }
            }
        }
        items = items.TrimEnd(',');
        queryString6 = "SELECT "+items+" from " +ddl_tables.Items[0].Text;
        System.Data.SqlClient.SqlCommand sqlCmd6 = new System.Data.SqlClient.SqlCommand(queryString6, con);
        System.Data.SqlClient.SqlDataAdapter dataAdapter6 = new System.Data.SqlClient.SqlDataAdapter(sqlCmd6);
        System.Data.DataSet dataSet6 = new System.Data.DataSet();
        dataAdapter6.Fill(dataSet6);
        string[] columns = items.Split(',');
        for (int i = 0; i < dataSet6.Tables[0].Rows.Count; i++)
        {
            order.Add(new Orders(columns.Contains("id") ? Convert.ToInt32(dataSet6.Tables[0].Rows[i]["id"]) : 0, columns.Contains("name") ? dataSet6.Tables
            [0].Rows[i]["name"].ToString() : "N/A", columns.Contains("month") ? dataSet6.Tables[0].Rows[i]["month"].ToString() : "N/A", columns.Contains("effiecency") ? Convert.ToInt32(dataSet6.Tables[0].Rows[i]
            ["effiecency"]) : 0, columns.Contains("latitude") ? Convert.ToInt32(dataSet6.Tables[0].Rows[i]["latitude"]) : 0, columns.Contains("longitude") ? Convert.ToInt32(dataSet6.Tables[0].Rows[i]
            ["longitude"]) : 0));

        }

        this.OrdersGrid.DataSource = order;
        this.OrdersGrid.DataBind();
    }

如果
dataSet6.Tables[0].Rows.Count
为零,则GridView将进行数据绑定,但不会有数据。

如果执行循环后订单包含值,则数据源将绑定到网格。但是网格不包含您在单击按钮中定义的列,它返回网格数据源中的所有列。网格只显示了您在bindDataSource方法中定义的列,

No dataSet6.Tables[0]。Rows.Count始终大于0。@NeerajPurohit另一件要尝试的事情是,AutoGenerateColumns是否设置为true?实际上,我使用的是第三方工具及其GridView控件“AutoGenerateColumns”财产是不存在的。看在上帝的份上,你浪费了很多人的时间。将第三方控件的供应商名称放在标记列表中。实际上,我认为它存在绑定问题,是否与控件有任何连接??是否调试了“订购”的代码在for循环后是否包含一些值?是的,我已经检查过了,它总是在循环后显示一些值,但当我将此“顺序”指定为数据源时,GridView没有绑定。顺序是您的通用列表吗?您在哪里调用此代码?页面加载?是的,顺序是通用列表,我已经创建了一个绑定GridView的方法,我正在按钮单击事件中调用此方法。是否使用断点检查以确保数据来自数据库?欢迎使用StackOverflow。你能就如何修改代码提出建议吗?
protected void btn_add_col_Click(object sender, EventArgs e)
    {

        Syncfusion.JavaScript.Models.Column sd;
        foreach (ListItem listItem in lb_add_col.Items)
        {
            if (listItem.Selected == true)
            {

                sd = new Syncfusion.JavaScript.Models.Column();
                if (listItem.Text == "id")
                {
                    sd.IsPrimaryKey = true;
                }
                sd.Field = listItem.Text;
                sd.HeaderText = listItem.Value;
                sd.Width = 90;
                sd.TextAlign = Syncfusion.JavaScript.TextAlign.Right;
                this.OrdersGrid.Columns.Add(sd);
            }
        }

        BindDataSource();
    }