2013-06-24 70 views
-1

我有一個gridView。 。如何將gridview行顯示爲鏈接?

<asp:GridView ID="GridAll" runat="server"> 

</asp:GridView> 

和後面的代碼。 。

protected void BindGrid() 
    { 
     conn = new SqlConnection(connString); 
     cmdBind = new SqlCommand("SELECT Name, Department, Year FROM UserProfile",conn); 
     conn.Open(); 
     reader = cmdBind.ExecuteReader(); 
     GridAll.DataSource = reader; 
     GridAll.DataBind(); 
     reader.Close(); 
     conn.Close(); 
    } 

它工作正常。 。 。 現在我希望該網格視圖將所有行顯示爲鏈接,以便點擊鏈接顯示更多詳細信息。 。

我該如何做到這一點?

+3

您希望該行的每個單元格中的文本成爲顯示更多詳細信息的超鏈接?什麼是「更多細節」,細節應該如何展示?另一排?彈出窗口?你需要提供更多關於你想要什麼的細節。本網站不打算成爲「這是我的想法,爲我編碼」的請求網站。本網站提供了有關問題的幫助,但僅在您完成了一些研究並詳細說明了您所嘗試的內容之後。你做了最少的努力,只是要求別人做你的工作。 –

+0

@Karl:更多細節是表格中的一些其他字段,我想在不同的頁面上顯示。 。我只是在這裏提出一些提示,因爲我提到我是編程新手 – user2295957

+0

好吧,你知道GridView中BoundField和TemplateField的區別嗎? –

回答

4

你可以輕鬆地使用GridView模板字段它:

<asp:TemplateField> 
     <HeaderTemplate> 
      Link 
     </HeaderTemplate> 
     <ItemTemplate> 
      <asp:LinkButton PostBackUrl='<%# Eval("Value")%>' Text='<%# Eval("Value")%>' 
        ID="lnk" runat="server" /> 
     </ItemTemplate> 
    </asp:TemplateField> 

價值在哪裏,你想放的鏈接。您可以從代碼做同樣的背後還有:

protected void myGrid_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      Customer cust = e.Row.DataItem as Customer; 
      if (!cust.ShowURL) 
      { 
       LinkButton lnkWebURL = e.Row.FindControl("lnk") as LinkButton; 
       //Set lnkWebURL stugg 
      } 
     } 
    } 

我從here複製這個答案。