我是ASP.Net的新手
我在GridView
中有1-5个下拉列表使用css
创建禁用= true 的文本框我需要根据三个下拉菜单的选择来计算总数。
总计算必须是动态的。
请帮忙
答案 0 :(得分:0)
在我看来,也会在网格中添加一个按钮,以便您可以在该按钮单击的文本框中显示三个下拉列表值的总和。
然后在gridview的rowcommand函数中尝试此代码
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
GridViewRow gr = (GridViewRow)((Button)e.CommandSource).NamingContainer;
DropDownList ddl1 = (DropDownList)gr.FindControl("DropDownList1");
DropDownList ddl2 = (DropDownList)gr.FindControl("DropDownList2");
DropDownList ddl3 = (DropDownList)gr.FindControl("DropDownList3");
TextBox txt = (TextBox)gr.FindControl("TextBox1");
txt.Text = (Convert.ToInt32(ddl1.SelectedItem.Text) + Convert.ToInt32(ddl2.SelectedItem.Text) + Convert.ToInt32(ddl2.SelectedItem.Text)).ToString();
}
希望这会对你有所帮助
答案 1 :(得分:0)
最好的方法是编写javascript函数并分配给每个下拉列表' onchange'传递此下拉对象的事件:
<asp:DropDownList ID="DropDownList1" runat="server" onchange="dropdownChanged(this)">
在js功能中,您可以计算所选值的总和并将其保存到文本框中。这样你就可以避免回发,并且它的工作非常快。
在js中执行此操作的最佳方法是使用jquery。检查jquery文档以了解如何编写特定步骤的代码:
获取最接近作为参数传递的下拉对象的元素(this)。这将为您提供行对象。
Foreach下拉,您想要计算从下拉列表的值到变量的总和。 如果这3个下拉列表是行中唯一的下拉列表,则可以在行对象上使用getElementsByTagName(&#34; select&#34;)来获取数组,然后在&#39;中计算总和。环。如果您有更多的下拉,请使用jquery按部分ID获得所需的下拉列表。
使用jquery获取行内的目标文本框(按部分id或按标记类型)并将计算值分配给它&#39; value&#39;属性。