Wrox Programmer Forums
| Search | Today's Posts | Mark Forums Read
ASP.NET 2.0 Basics If you are new to ASP or ASP.NET programming with version 2.0, this is the forum to begin asking questions. Please also see the Visual Web Developer 2005 forum.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the ASP.NET 2.0 Basics section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
  #1 (permalink)  
Old June 12th, 2006, 11:43 AM
Authorized User
 
Join Date: May 2006
Location: , , .
Posts: 14
Thanks: 0
Thanked 0 Times in 0 Posts
Default 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

  #2 (permalink)  
Old June 13th, 2006, 03:23 PM
Authorized User
 
Join Date: May 2006
Location: , , .
Posts: 14
Thanks: 0
Thanked 0 Times in 0 Posts
Default

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

  #3 (permalink)  
Old June 14th, 2006, 09:21 AM
Authorized User
 
Join Date: May 2006
Location: , , .
Posts: 14
Thanks: 0
Thanked 0 Times in 0 Posts
Default

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;
  #4 (permalink)  
Old June 12th, 2007, 04:05 PM
Registered User
 
Join Date: Aug 2004
Location: , , .
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Two DropDownList Inside a Gridview ilayaraja ASP.NET 3.5 Basics 3 December 5th, 2008 06:26 PM
DropDownList in Gridview sdoremus ASP.NET 3.5 Basics 0 September 15th, 2008 07:15 PM
Binding dropdownlist to gridView mcgarry101 ASP.NET 2.0 Basics 0 February 13th, 2007 07:12 AM
Cascading DropDownList in a GridView Aaron Edwards ASP.NET 2.0 Basics 0 January 12th, 2007 02:11 PM
Gridview and dropdownlist GuyB ASP.NET 1.0 and 1.1 Basics 0 November 9th, 2006 08:54 PM





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