asp.net – 如何将下拉列表添加为gridview项
我的表单在gridview中有三列.一个是数量(下拉列表){如何添加此数量下拉列表?},其他是价格和金额.我想计算gridview内的数量.如果我选择数量“2”,那么它计算数量*价格.如何在gridview或任何其他选项中获取下拉列表的selectedindexchanged属性? 如何在gridview项中添加下拉列表? 解决方法你的问题有三个部分:>如何在GridView中添加DropDownList? 这是我们如何做到的.首先在页面中添加此标记.我为产品名称添加了一个列,使其看起来更好: <asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server" OnRowDataBound="GridView1_RowDataBound"> <Columns> <asp:BoundField DataField="Name" HeaderText="Name" /> <asp:TemplateField HeaderText="Quantity"> <ItemTemplate> <asp:DropDownList ID="ddlQuantity" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlQuantity_SelectedIndexChanged"></asp:DropDownList> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Price"> <ItemTemplate> <asp:Label ID="lblPrice" Text='<%#Eval("Price") %>' runat="server" ></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Amount"> <ItemTemplate> <asp:Label ID="lblAmount" Text="0.00" runat="server" ></asp:Label> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> 如何在GridView中添加DropDownList 在Page_Load()中填充GridView(我使用了产品列表): protected void Page_Load(object sender,EventArgs e) { if (!IsPostBack) { //Test data to populate GridView GridView1.DataSource = new List<Product>() { new Product{ID=1,Name="Paper",Price=7.99M},new Product{ID=2,Name="Pen",Price=14.99M},new Product{ID=3,Name="Pencil",Price=1.99M} }; GridView1.DataBind(); } } 这将触发GridView的RowDataBound事件.在event方法中,我们将在每行中绑定DropDownList,如下所示: protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { var ddl = e.Row.FindControl("ddlQuantity") as DropDownList; if (ddl != null) { ddl.DataSource = new List<string>() { "0","1","2","3","4" }; ddl.DataBind(); } } } 如何从GridView中的DropDownList中获取所选项目 如何计算值并在GridView中显示 当您更改DropDownList中的任何选择时,它将触发SelectedIndexChange事件.在那个事件方法中,我们可以找到哪个DropDownList被更改,而且它的“NamingContainer” – GridView的行保存它: protected void ddlQuantity_SelectedIndexChanged(object sender,EventArgs e) { GridViewRow gvr = ((DropDownList)sender).NamingContainer as GridViewRow ; if (gvr != null) { decimal price = 0.00M; int quantity = 0; //We can find all the controls in this row and do operations on them var ddlQuantity = gvr.FindControl("ddlQuantity") as DropDownList; var lblPrice = gvr.FindControl("lblPrice") as Label; var lblAmount = gvr.FindControl("lblAmount") as Label; if (ddlQuantity != null && lblPrice != null && lblAmount != null) { int.TryParse(ddlQuantity.SelectedValue,out quantity); decimal.TryParse(lblPrice.Text,out price); lblAmount.Text = (price * quantity).ToString(); } } } 这是结果: 您可以下载测试项目here. (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 路由是在我的区域中找到控制器,但不是视图
- asp.net – 脚本标签和链接标签进入asp:内容或外部
- asp.net – XMLHTTP请求的经典ASP错误
- .NET WebApi jsonapi.org支持
- 如何在ASP.NET自定义控件中持久保存List属性?
- asp.net-mvc – UpdateModel前缀 – ASP.NET MVC
- asp.net-mvc – LabelFor和TextBoxFor不生成相同的id
- asp.net中MVC借助Iframe实现无刷新上传文件实例
- 在ASP.net中使用NVP API时,PayPal SetExpressCheckout存在问
- asp.net-mvc – 输出在剃刀通过变量?
- asp.net-mvc – 如何在视图上下文之外获取ModelM
- asp.net 汉字转换拼音及首字母实现代码
- asp.net使用DataTable构造Json字符串的方法
- asp.net – 我可以愚弄HttpRequest.Current.Requ
- 如何在asp.net中更改javascript警告框的标题?
- asp.net-mvc – 模型单元测试能否真正独立,如何[
- asp.net-mvc – Umbraco 7自定义cookie
- asp.net-mvc – MVC导航到不同的控制器视图
- asp.net – Application_error函数间歇性捕获“文
- 在asp.net中HttpContext.Current.User和Thread.C