从gridview的下拉列表中获取所选项目的值 [英] get the value of the selected item form a dropdownlist in gridview

查看:80
本文介绍了从gridview的下拉列表中获取所选项目的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨 谁能告诉我如何在onrowcommand事件中在gridview中获取下拉列表的选定值

首先,您需要设置CommandArgument = row索引,然后在onrowcommand事件中使用此代码.

.aspx代码:

 <   asp:GridView     ID   ="   ="span>    runat   =" 服务器"  AutoGenerateColumns   错误"  CellPadding   ="  
 
                     span>                                                                              ForeColor   #333333"  GridLines   ="   ShowFooter   ="     OnRowCommand   ="  > 
                                                    <   RowStyle     ="  #EFF3FB" / <   > 
                                                        <   asp:TemplateField  > 
                                                            <   ItemTemplate  > 
                                                                <   asp:ImageButton     ID   ="   runat   服务器"  CommandName    RSelect"  CommandArgument   " )%>' 
 
                     span>                                                                                                      ImageUrl   ="    / > 
                                                            <  /ItemTemplate  > 
                                                        <  /asp:TemplateField  > 
                                                        <   asp:TemplateField  > 
                                                            <   ItemTemplate  > 
                                                                <   asp:DropDownList     ID   ="   runat   服务器" <  /asp:DropDownList  > 
                                                            <  /ItemTemplate  > 
                                                        <  /asp:TemplateField  > 
                                                    <  /列 > 
                                                    <   FooterStyle     ="  #507CD1" 字体粗体   True"     ForeColor   =" 白色" / > 
                                                    <   PagerStyle     ="  #2461BF"  ForeColor   白色"     Horizo​​ntalAlign   =" 居中" / <   SelectedRowStyle     ="  #D1DDF1" 字体粗体   True"     ForeColor   =" #333333" / > 
                                                    <   HeaderStyle     ="  #507CD1" 字体粗体   True"     ForeColor   =" 白色" / > 
                                                    <   EditRowStyle     ="  #2461BF" / <   AlternatingRowStyle     ="  白色" / <  /asp:GridView  >  




.cs代码:

  class  dtgData
        {
             int  _RIndex;
            公共  int  RIndex
            {
                获取 {返回 _RIndex; }
                 set  {_RIndex =  value ; }
            }
        }

受保护的 无效 Page_Load(对象发​​件人,EventArgs e)
        {
            如果(!IsPostBack)
            {
                List< dtgData> list =  List< dtgData>();
                dtgData ob =  dtgData();
                 for ( int  i =  0 ; i <  =  4 ; i ++)
                {
                    ob =  dtgData();
                    ob.RIndex = i;
                    list.Add(ob);
                }
                dtgView.DataSource =列表;
                dtgView.DataBind();
            }
        }

受保护的 无效 dtgView_RowCommand(对象发​​件人,GridViewCommandEventArgs e)
        {
            // 需要设置CommandArgument =行索引
             int  rowCount =  0 ;
             foreach (GridViewRow行 in  dtgView.Rows中)
            {
                如果(行计数== Convert.ToInt16(e.CommandArgument))
                {
                    字符串 str =((DropDownList)row.FindControl(" )).SelectedValue.ToString();
                }
                rowCount ++;
            }
        } 



在这里,
dtgView = GridView
ddl = DropDownList在您的gridview内

试试这个...


Hi Can anyone tell me how to get the selected value of a dropdownlist in gridview on the onrowcommand event

Thanks

解决方案

at 1st you need to set CommandArgument=row index, then use this code in onrowcommand event.

.aspx code:

<asp:GridView ID="dtgView" runat="server" AutoGenerateColumns="False" CellPadding="4"

                                                    ForeColor="#333333" GridLines="None" ShowFooter="true" OnRowCommand="dtgView_RowCommand">
                                                    <RowStyle BackColor="#EFF3FB" />
                                                    <Columns>
                                                        <asp:TemplateField>
                                                            <ItemTemplate>
                                                                <asp:ImageButton ID="btnSelect" runat="server" CommandName="RSelect" CommandArgument='<%#Eval("RIndex") %>'

                                                                    ImageUrl="~/Icon/page_edit.gif" />
                                                            </ItemTemplate>
                                                        </asp:TemplateField>
                                                        <asp:TemplateField>
                                                            <ItemTemplate>
                                                                <asp:DropDownList ID="ddl" runat="server">
                                                                </asp:DropDownList>
                                                            </ItemTemplate>
                                                        </asp:TemplateField>
                                                    </Columns>
                                                    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                                                    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                                                    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                                                    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                                                    <EditRowStyle BackColor="#2461BF" />
                                                    <AlternatingRowStyle BackColor="White" />
                                                </asp:GridView>




.cs code:

class dtgData
        {
            int _RIndex;
            public int RIndex
            {
                get { return _RIndex; }
                set { _RIndex = value; }
            }
        }

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List<dtgData> list = new List<dtgData>();
                dtgData ob = new dtgData();
                for (int i = 0; i <= 4; i++)
                {
                    ob = new dtgData();
                    ob.RIndex = i;
                    list.Add(ob);
                }
                dtgView.DataSource = list;
                dtgView.DataBind();
            }
        }

protected void dtgView_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            //Need to set CommandArgument=row index
            int rowCount = 0;
            foreach (GridViewRow row in dtgView.Rows)
            {
                if (rowCount == Convert.ToInt16(e.CommandArgument))
                {
                    string str = ((DropDownList)row.FindControl("ddl")).SelectedValue.ToString();
                }
                rowCount++;
            }
        }



here,
dtgView=GridView
ddl=DropDownList inside your gridview

try this...


这篇关于从gridview的下拉列表中获取所选项目的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆