2017-05-09 73 views
0

我在這裏有一些問題。將數據添加到gridview根據gridview標題從數據庫檢索

如何開始編寫GridView並根據GridView頭逐個手動插入數據庫中的數據?

我想創建GridView但數據庫中的結構不一樣。因此,我想根據GridView標題從數據庫輸入值。可能嗎?

因爲,在此之前,我只在GridView一次從數據庫中檢索。我不知道如何根據標題GridView進行檢索。我是C#語言的初學者,希望你能舉一些這方面的例子嗎?謝謝。

以下是我迄今所做的:

<head runat="server"> 
 
    <title></title> 
 
</head> 
 
<body> 
 
    <form id="form1" runat="server"> 
 
    <div> 
 
    
 
     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"> 
 
      <Columns> 
 
       <asp:TemplateField HeaderText="Request Date"> 
 
        <ItemTemplate> 
 
         <asp:Label ID="lblReqDate" runat="server" Text='<%# Eval("request_date") %>'></asp:Label> 
 
        </ItemTemplate> 
 
       </asp:TemplateField> 
 
       <asp:TemplateField HeaderText="A01"></asp:TemplateField> 
 
       <asp:TemplateField HeaderText="A02"></asp:TemplateField> 
 
      </Columns> 
 
     </asp:GridView> 
 
    
 
    </div> 
 
    </form> 
 
</body> 
 
</html>

+0

你是什麼意思「的基礎上頭如何檢索」 ?你只需要那些來自數據庫的列?網格視圖標題是否在運行時更改? – Krishna

+0

是的。我想從數據庫的列。但運行時的gridview更改結構。因爲與數據庫表格顯示的gridview顯示不一樣。例如,我想顯示A | B作爲gridview標題,但在數據庫A |中B在一列是產品。你明白我在說什麼嗎?或者你我的解釋有點混亂? – NFH

+0

你的意思是你有一個數據庫的列,你想顯示它在網格中的兩列嗎? – Krishna

回答

0

考慮數據的列有一個分號(;)作爲分隔符。然後按照以下步驟操作 添加帶有標籤的模板列。

<head runat="server"> 
 
    <title></title> 
 
</head> 
 
<body> 
 
    <form id="form1" runat="server"> 
 
    <div> 
 
    <asp:GridView ID="GridView3" runat="server" OnRowDataBound="GridView3_RowDataBound" AutoGenerateColumns="false"> 
 
      <Columns> 
 
       <asp:TemplateField HeaderText="Request Date"> 
 
        <ItemTemplate> 
 
         <asp:Label ID="lblReqDate" runat="server" Text='<%# Eval("request_date") %>'></asp:Label> 
 
        </ItemTemplate> 
 
       </asp:TemplateField> 
 
       <asp:TemplateField HeaderText="A01"> 
 
         <asp:Label ID="lblA01" runat="server" ></asp:Label> 
 
       </asp:TemplateField> 
 
       <asp:TemplateField HeaderText="A02"> 
 
         <asp:Label ID="lblA02" runat="server" ></asp:Label> 
 
       </asp:TemplateField> 
 
      </Columns> 
 
     </asp:GridView> 
 
    
 
    </div> 
 
    </form> 
 
</body> 
 
</html>

在數據網格行綁定拆分數據

現在並結合

protected void GridView3_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     Label lblA01 = (Label)e.Row.FindControl("lblA01"); 
     Label lblA02 = (Label)e.Row.FindControl("lblA02"); 
     string val = DataBinder.Eval(e.Row.DataItem, "product").ToString(); 
     string[] splittedData = val.Split(';'); 
     if (splittedData.Length > 0) 
      lblA01.Text = splittedData[0]; 
      if (splittedData.Length > 1) 
      lblA01.Text = splittedData[1]; 
     } 
    } 
} 

希望這有助於