2009-01-22 60 views
1

當前我正在使用GridView和GridView的RowCommand事件,所選行的詳細信息顯示在Gridview下方。但現在我必須在點擊的行下方顯示細節。意味着它將顯示在所選行和下一行之間。 GridView的代碼是是否有可能在GridView行之間顯示RowCommand事件

<asp:GridView ID ="gvUserDataReadOnly" AutoGenerateColumns ="false" runat ="server" OnRowCommand ="gvUserDataReadOnly_RowCommand" DataKeyNames ="Guid"> 
     <Columns > 
      <asp:ButtonField ItemStyle-Width ="100px" DataTextField ="FirstName" HeaderText ="<%$ Resources:StringsRes,pge_ContactManager_FirstName %>" SortExpression ="FiratName" CommandName ="show_Details" ButtonType ="link" /> 
      <asp:ButtonField ItemStyle-Width ="100px" DataTextField ="LastName" HeaderText ="<%$ Resources:StringsRes,pge_ContactManager_LastName %>" SortExpression ="LastName" CommandName ="show_Details" ButtonType ="link" />     
      <asp:BoundField ItemStyle-Width ="100px" DataField ="TypeName" HeaderText ="<%$ Resources:StringsRes,pge_ContactManager_TypeName %>" SortExpression ="TypeId" /> 
     </Columns> 
     <RowStyle Height="25px" /> 
     <HeaderStyle Height="30px"/> 
    </asp:GridView> 

和div標籤,我想速滑運動員的肌肉行顯示的是

<div id ="dvUserDatails" runat ="server" visible ="false" class ="eventcontent"> 
     <h2><asp:Literal ID ="ltUserName" runat ="server" ></asp:Literal></h2> 
     <asp:Label Text ="Type : " runat ="server" ID ="Type"></asp:Label><asp:Literal ID ="ltType" runat ="server" ></asp:Literal><br /> 
     <asp:Label Text ="Address : " runat ="server" ID ="Address"></asp:Label><asp:Literal ID ="ltAddress" runat ="server" ></asp:Literal><br /> 
     <asp:Label Text ="Phone No : " runat ="server" ID ="PhoneNo"></asp:Label><asp:Literal ID ="ltPhoneNo" runat ="server" ></asp:Literal><br /> 
     <asp:Label Text ="Mobile No : " runat ="server" ID ="MobNo"></asp:Label><asp:Literal ID ="ltMobNo" runat ="server" ></asp:Literal><br /> 
     <asp:Label Text ="Email Id : " runat ="server" ID ="emailId"></asp:Label><asp:Literal ID ="ltemail" runat ="server" ></asp:Literal><br /> 
    </div> 

,因爲我沒有使用的GridView的編輯按鈕,我不能使用EditItem模板。任何人都可以告訴我如何完成這項任務?任何其他方式來做到這一點?提前致謝。

回答

1

您可能想要使用Repeater並自己構建表。我不認爲你能夠使GridView工作,因爲你只能控制每行中的內容,而你想要做的是在一般信息和詳細信息之間交替行。有關如何將其連接到數據源並處理按鈕點擊的更多信息,請參閱MSDN

<asp:Repeater ID="gvUserDataReadOnly" runat="server" DataKeyNames="Guid"> 
    <HeaderTemplate> 
     <table> 
     <tr> 
      <th>Header 1</th> 
      ... 
     </tr> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <tr> 
      <td> 
      ... first name button ... 
      </td> 
      ... 
     </tr> 
    </ItemTemplate> 
    <AlternatingItemTemplate> 
     <tr runat="server" visible="false"> 
     <td colspan="3"> 
      ... details (minus div) here ... 
     </td> 
     </tr> 
    </AlternatingItemTemplate> 
    <FooterTemplate> 
     </table> 
    </FooterTemplate> 
</asp:Repeater> 
-1

是 - GridView控件可以做的正是你想要的。

<asp:GridView ...> 
    <RowStyle ...> 
    <Columns> 
     <asp:TemplateField> 
      <HeaderTemplate> 
      </HeaderTemplate> 
      <ItemTemplate> 
      </ItemTemplate> 
      <FooterTemplate> 
      </FooterTemplate 
     </asp:TemplateField> 
    </Columns>  
</asp:GridView> 

HeaderTemplate和FooterTemplate是可選的 - 我認爲即使ItemTemplate是可選的。無論如何,你可以在這些標籤內放置任何東西 - 甚至是另一個gridview。

+0

沒有適當的例子或鏈接給出的問題 – Aruna 2016-09-01 17:46:47

相關問題