DataGrid中DropDownList的动态绑定以及触发DropDownList事件

本文介绍如何在ASP.NET DataGrid中绑定DropDownList,并根据所选值动态更新价格信息。包括ASPX页面配置及CS后台代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在写DataGrid中DropDownList的绑定,客户需要根据值去改变价格信息,发现忘记如何写的了。虽然网上很多了,但自己还是做个笔记,以后查询方便

 1.ASPX页面

1  < asp:TemplateColumn HeaderText = " 退还价格类型 " >
2      < ItemTemplate >
3         < asp:DropDownList ID = " ddlReturnPriceType "  runat = " server "  AutoPostBack = " true "  OnSelectedIndexChanged = " ddlReturnPriceType_SelectedIndexChanged " >
4         </ asp:DropDownList >
5      </ ItemTemplate >
6      < ItemStyle HorizontalAlign = " Center "   />
7  </ asp:TemplateColumn >

 

 AutoPostBack="true"一定不能忘记了!

 

 2.1 CS页面DropDownList动态绑定

1  foreach  (DataGridItem item  in  myGrid.Items)
2  {
3     DropDownList ddlReturnPriceType  =  (DropDownList)item.FindControl( " ddlReturnPriceType " );
4     ddlReturnPriceType.Items.Clear();
5     ddlReturnPriceType.DataSource  =  AppEnum.GetReturnPriceType();
6     ddlReturnPriceType.DataValueField  =   " key " ;
7     ddlReturnPriceType.DataTextField  =   " value " ;
8     ddlReturnPriceType.DataBind();
9 

 

 2.2 CS页面DropDownList事件

 1  DataGridItem item  =  (DataGridItem)((Control)sender).Parent.Parent;
 2  TextBox txtPrice  =  (TextBox)item.FindControl( " txtPrice " );
 3  DropDownList ddlReturnPriceType  =  (DropDownList)item.FindControl( " ddlReturnPriceType " );
 4  switch  ( int .Parse(ddlReturnPriceType.SelectedValue))
 5  {
 6       case  ( int )AppEnum.ReturnPriceType.TenPercentsOff: //原价 90%
 7          txtPrice.Text  =  ( decimal .Parse(item.Cells[ 4 ].Text) * 0.9m ).ToString(AppConst.DecimalFormat);
 8           break ;
 9       case  ( int )AppEnum.ReturnPriceType.OriginPrice: //原价 100%
10          txtPrice.Text  =  ( decimal .Parse(item.Cells[ 4 ].Text)).ToString(AppConst.DecimalFormat);
11           break ;
12       case  ( int )AppEnum.ReturnPriceType.InputPrice://自定义价格
13            break ;
14   }

 

 

 

 

转载于:https://www.cnblogs.com/leakey/archive/2010/09/18/1830127.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值