【问题标题】:gridview whith dropdown extender带有下拉扩展器的gridview
【发布时间】:2009-07-15 12:09:22
【问题描述】:

我有带有 TextBox 模板字段和 DropDownExtender 的 gridview,因此当用户单击文本框时,将出现另一个 gridview,其中包含项目列表和按钮,以将项目添加到第一个 gridview。我的问题是: 如果单击按钮(位于扩展器网格视图中),我如何获取第一个网格视图(包含文本框)的行索引?

谢谢


        <cc1:DropDownExtender ID="uxItemExtender" runat="server" DropDownControlID="uxItemContainer" TargetControlID="uxItems"></cc1:DropDownExtender>
        <asp:Panel BackColor="AliceBlue" ID="uxItemContainer" runat="server" ScrollBars="Both" Height="400" Width="200">
        <asp:GridView ID="uxItemsView" runat="server" Font-Size="Small" AutoGenerateColumns="false" OnRowDataBound="uxItemsView_RowDataBound">
        <Columns>
        <asp:TemplateField HeaderText="Item Details">
        <ItemTemplate>
         <asp:Label ID="uxItemNameLbl" Text="Name :" runat="server"></asp:Label>
        <asp:Label ID="uxItemName" runat="server"></asp:Label><br />
        <asp:Label ID="uxItemDescriptionLbl" Text="Description :" runat="server"></asp:Label>
        <asp:Label ID="uxItemDescription" runat="server"></asp:Label><br />
        <asp:Label ID="uxItemPriceLbl" Text="Price :" runat="server"></asp:Label>
        <asp:Label ID="uxItemPrice" runat="server"></asp:Label><br />
        <asp:Button ID="uxSelectItem" runat="server" Text="Add Item" OnClick="uxSelectItem_Click" /><br />
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Picture">
        <ItemTemplate>
        <asp:Image ID="uxItemImage" runat="server" Width="45" Height="50" />
        </ItemTemplate>
        </asp:TemplateField>
        </Columns>
        </asp:GridView>
        </asp:Panel>
         </asp:TemplateField>

【问题讨论】:

  • 我的回答对你有帮助吗?

标签: asp.net ajax gridview


【解决方案1】:

我假设您需要行索引,以便您可以找到 TextBox 并对其进行更新。

如果是这样,为什么不把内部的 GridView 放在 EditItemTemplate 中呢?这样,您可以使用外部 GridView 的 EditIndex 属性找到正确的行并更新 TextBox。

或者,如果辅助 GridView 只是为了显示数据,请考虑改用 ListBox - 这样,您就不会在另一个模板中,您可以只使用 FindControl。

【讨论】:

    【解决方案2】:

    您可以在 gridview 中设置按钮命令参数,如下所示:

     <asp:Button ID="uxSelectItem" runat="server" Text="Add Item" OnClick="uxSelectItem_Click" CommandArgument="Row Index" /><br /> 
    

    在 OnClick 事件中,您可以强制转换发送者并从按钮的命令参数中获取行索引,如下所示:

    protected void uxSelectItem_Click(object sender, EventArgs e)
    {
        Button uxSelectItem = (Button)sender;
        int RowIndex = int.Parse(uxSelectItem.CommandArgument);
    }
    

    所以你有了触发按钮的 OnClick 事件的行索引。

    希望对您有所帮助....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-28
      • 1970-01-01
      • 1970-01-01
      • 2018-10-19
      • 2012-03-08
      • 1970-01-01
      相关资源
      最近更新 更多