p2p.wrox.com Forums

p2p.wrox.com Forums (http://p2p.wrox.com/index.php)
-   ASP.NET 2.0 Basics (http://p2p.wrox.com/forumdisplay.php?f=136)
-   -   Gridview and DropDownList (http://p2p.wrox.com/showthread.php?t=43859)

extendedram June 12th, 2006 11:43 AM

Gridview and DropDownList
 
Hi,

I have a gridview with a templete field. In the template field is a DropDownList.

Code:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
            AllowSorting="True" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
            <Columns>
                <asp:HyperLinkField DataNavigateUrlFields="RequestID" DataNavigateUrlFormatString="RequestDetails.aspx?RequestID={0}"
                    DataTextField="ReportTitle" HeaderText="Report Title" SortExpression="ReportTitle" >
                    <HeaderStyle ForeColor="White" />
                </asp:HyperLinkField>
                <asp:BoundField DataField="StatusName" HeaderText="Status" SortExpression="StatusName" >
                    <HeaderStyle ForeColor="White" />
                </asp:BoundField>
                <asp:BoundField DataField="RequestDate" HeaderText="RequestDate" SortExpression="RequestDate" >
                    <HeaderStyle ForeColor="White" />
                </asp:BoundField>
                <asp:TemplateField HeaderText="Request Options">
                    <HeaderStyle ForeColor="White" />
                    <ItemTemplate>
                        <asp:DropDownList ID="ddlRequestOptions" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlRequestOptions_SelectedIndexChanged">
                            <asp:ListItem Selected="True"></asp:ListItem>
                            <asp:ListItem Value="Chg">Change</asp:ListItem>
                            <asp:ListItem Value="Can">Cancel</asp:ListItem>
                            <asp:ListItem Value="Up">Update</asp:ListItem>
                        </asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <RowStyle BackColor="#E8E8E8" />
            <HeaderStyle BackColor="#36578C" />
        </asp:GridView>

In the selectedindexchanged event for the drop down list I would like to do something like this:
RequestChange.aspx?RequestID = 12345

The request id would come from the row they used the dropdownlist in.

Thanks
Extended


extendedram June 13th, 2006 03:23 PM

Maybe I should give up and use hyperlink fields????


extendedram June 14th, 2006 09:21 AM

Here is the solution I came up with:
Code:

protected void ddlRequestOptions_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList ddl = (DropDownList)sender;
        GridViewRow row = (GridViewRow)ddl.NamingContainer;
        string requestid = ((Label)row.FindControl("lblRequestID")).Text;
        string type = ddl.SelectedValue;


juice2004 June 12th, 2007 04:05 PM

Thank you - this is almost exactly what I needed. One slight mod for what I needed and that was the datakeyname for the row where the dropdownlist was. I got that with this code:

Code:

Protected Sub DdlFy_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)

Dim fyDropDown As DropDownList = sender
Dim row As GridViewRow = DirectCast(fyDropDown.NamingContainer, GridViewRow)
Dim projectId As Integer = GridView1.DataKeys(row.RowIndex).Item("ProjectId")

End Sub



All times are GMT -4. The time now is 10:46 AM.

Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.