【问题标题】:Is it possible to display a panel or div in between gridview rows on RowCommand event是否可以在 RowCommand 事件的 gridview 行之间显示面板或 div
【发布时间】:2009-01-22 05:55:12
【问题描述】:

目前我正在使用 gridView,并且在 gridview 的 RowCommand 事件中,所选行的详细信息显示在 Gridview 下方。但是现在我必须在单击的行下方显示详细信息。表示它将显示在所选行和下一行之间。 gridview 代码为

    <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>

我不能使用 EditItem 模板,因为我没有使用 gridview 的编辑按钮。谁能告诉我如何完成这项任务?还有其他方法可以做到这一点吗?提前致谢。

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    您可能想使用中继器并自己构建表。我认为您无法让 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>
    

    【讨论】:

      【解决方案2】:

      请参阅以下文章,准确描述您想要的内容:
      DataGrid and Details Using ASP.NET, C#, and JavaScript (Expand / Collapse Rows)

      【讨论】:

      • 链接已失效,您应该添加密钥代码
      【解决方案3】:

      是的 - GridView 可以完全满足您的需求。

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

      HeaderTemplate 和 FooterTemplate 是可选的 - 我认为即使 ItemTemplate 也是可选的。无论如何,您可以在这些标签内放置任何内容——甚至是另一个 gridview。

      【讨论】:

      • 没有为所提问题提供适当的示例或链接
      猜你喜欢
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多