2015-09-15 121 views
0

我具有低於從查詢中設置格式結果,數據綁定到網格視圖

enter image description here

和我希望顯示上述查詢結果在下面使用的數據表或在的GridView任何其他選項的格式。

enter image description here

能有一個人幫我。

+0

雲請您上傳的圖片這些列是什麼你想在結果gridview?正如你所提到的,使用適當的IsSelected屬性**。您可以使用Itemtemplate並添加複選框,如果值爲1,則選擇或不選。以供參考:http://www.aspsnippets.com/Articles/Set-Check-Uncheck-CheckBox-in-GridView-based-on-DataTable-value-in-ASPNet.aspx –

+0

付款人的名單不固定。該付款人取決於系統中可用付款人的數量。 – user3505449

回答

1

付款人名單不固定。該付款人取決於系統中可用付款人的號碼 。

首先關閉所有嘗試從數據庫檢索數據使用樞軸列。 SQL DEMO

然後使用該數據動態綁定GridView。 與TemplateField綁定網格,每列動態創建:

protected void bindgrid() 
{ 
    con.Open(); 

    using (SqlDataAdapter sqd = new SqlDataAdapter("selectdata", con)) // here selectdata is my stored procedure in SQL Server 
    { 
     DataTable dt = new DataTable(); 
     sqd.Fill(dt); 

     ViewState["data"] = dt; 

     for (int j = 1; j < dt.Columns.Count; j++) 
     { 
      TemplateField tfield = new TemplateField(); 
      tfield.HeaderText = "Payers"+j; 
      grid1.Columns.Add(tfield); 
     } 

     grid1.DataSource = dt; 
     grid1.DataBind(); 
    } 

    con.Close(); 
} 

綁定複選框,其值是1,0或空

protected void updategrid() 
{ 
     for(int k = 0; k < grid1.Rows.Count; k++) 
     { 
      DataTable dtl = (DataTable)ViewState["data"]; 

      for (int j = 1; j < dtl.Columns.Count; j++) 
      { 
       if (dtl.Rows[k][j].ToString() == "1") 
       { 
        CheckBox ch = new CheckBox(); 
        ch.ID = "checkbox" + j; 
        ch.Checked = true; 
        grid1.Rows[k].Cells[j].Controls.Add(ch); 
       } 
       else if (dtl.Rows[k][j].ToString() == "0" || dtl.Rows[k][j].ToString() == "" || dtl.Rows[k][j].ToString() == null) 
       { 
        CheckBox ch = new CheckBox(); 
        ch.ID = "checkbox" + j; 
        ch.Checked = false; 
        grid1.Rows[k].Cells[j].Controls.Add(ch); 
       } 
      } 
     } 
    } 

Output Screen Short