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类序列化生成xml文件实例详解
- 如何处理在MVC视图中应用程序启动和传输和显示错误发生的AS
- asp.net-mvc – ie9:调试时出现恼人的弹出:“错误:’__f
- asp.net-mvc-3 – 为什么@ Html.Label()删除一些字符
- asp.net – MVC4 – ContextDependentView – 这是什么意思
- asp.net-mvc – 在我的ASP.NET MVC网站中缓存不能正常工作?
- asp.net-mvc – 无法更改关系,因为一个或多个外键属性在MVC
- asp.net – compilation debug =“true”和发布模式“relea
- ASP.NET UpdatePanel和Javascript __dopostback
- 如何在ASP.NET和C#中加载下拉列表?
- asp.net – 启用Application Insights会使Web应用
- asp.net-mvc-4 – MVC4捆绑GZIP和头文件
- asp.net web.config加密解密方法
- webforms – ASP.Net Core 1.0是否支持WebForm项
- asp.net 删除项目文件/文件夹IIS重启,Session丢
- asp.net – 为什么Global.asax事件在我的ASP.NET
- asp.net-mvc – URL中的ASP.NET MVC冒号
- asp.net-mvc – 使用Viewbag绑定DropdownlistFor
- asp.net fileupload控件上传文件与多文件上传
- IIS和ASP.Net Web开发服务器之间的行为差异?
