簡體   English   中英

GridView沒有綁定C#

[英]GridView is not binding C#

我正在使用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();
    }

從上面的方法順序可以看到數據,但是GridView沒有綁定。

我在其上調用此方法的Button Click事件:

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();
    }

如果執行循環后訂單包含值,則數據源將綁定到網格。 但是,網格不包含您在按鈕單擊中定義的列,它返回網格數據源中的所有列。 網格僅顯示您在bindDataSource方法中定義的列,

如果dataSet6.Tables[0].Rows.Count為零,則GridView將進行數據綁定,但是將沒有數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM