复选框问题
1、怎么判断哪个复选框被选中2、购物信息中有个汇总的价格,就是第一个商品+第二个商品+第三个。。。。的总价,我想做的是比如我先前选中两个复选框,后来取消一个就剩一条商品信息,同时让汇总的价格发生变化,要怎么做? --------------------编程问答-------------------- if (checkBox1.Checked) ...
在CheckBox.CheckedChanged事件里面编写代码,重新计算总价。 --------------------编程问答--------------------
我的checkbox是这个形式的: <ItemTemplate>
<asp:CheckBox ID="CBbuy" runat="server" AutoPostBack="True" Checked="True"
/>
</ItemTemplate>,要怎么进行checkbox的判断? --------------------编程问答-------------------- 遍历dataview
--------------------编程问答-------------------- 还有没有人知道啊,我的那个复选框是在gridview里的,怎么判断是否选中,马上就要答辩了,求帮助啊! --------------------编程问答-------------------- 按钮事件里面 遍历gridview的checkbox 判断当前row的checkBox1.Checked是否被选中 --------------------编程问答--------------------
foreach( DataGridViewRow row in dataView.Rows )
{
CheckBox chk = row.FindControl["CBbuy"] as CheckBox;
if(chk.Checked)
{
...//do something
}
}
求具体代码 --------------------编程问答-------------------- public partial class Default46 : System.Web.UI.Page
{
public static double huizong=0.0;
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
DataTable Cart = new DataTable();
if (e.CommandName == "select")
{
if (Session["shop"] == null)//如果没有购物车数据的话
{
Cart.Columns.Add("编号", typeof(int));
Cart.Columns.Add("名称", typeof(string));
Cart.Columns.Add("规格", typeof(string));
Cart.Columns.Add("单价", typeof(double));
Cart.Columns.Add("数量", typeof(int));
Cart.Columns.Add("总价", typeof(double));
Cart.Columns.Add("汇总", typeof(double));
Session["shop"] = Cart;//把购物车的虚拟表结构存储入session
}
Cart = (DataTable)Session["shop"];//从session中取出之前的购物数据
int index = Convert.ToInt32(e.CommandArgument);//获取选择行的id号
GridViewRow row = GridView1.Rows[index];//获取行
int id = Convert.ToInt32(row.Cells[0].Text);//商品ID
string name = row.Cells[1].Text;//商品名称
string size = row.Cells[3].Text;//商品规格
string p = row.Cells[4].Text;//
double price = double.Parse(p);//商品单价
int count = Convert.ToInt32(((TextBox)row.FindControl("TextBox1")).Text);//商品数量
//添加一行购物数据
DataRow rr = Cart.NewRow();//定义一个新行
rr["编号"] = id;
rr["名称"] = name;
rr["规格"] = size;
rr["单价"] = price;
rr["数量"] = count;
rr["总价"] = price * count;
huizong += price * count;
rr["汇总"] = huizong;
Cart.Rows.Add(rr);//把这行购物数据添加到Cart中
Session["shop"] = Cart;//重新存储到session中
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.Cookies["StudentCookies"] == null)
{
Response.Write("<script language=javascript>alert('请先登录!');location='Default3.aspx'</script>");
}
else if (!Page.IsPostBack)
GridView1.DataSource = Session["shop"];
DataBind();
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void GridView1_SelectedIndexChanged1(object sender, EventArgs e)
{
}
}
这是我的代码,复选框的ID是CBbuy,到底怎么样才能实现选中几个复选框出现几个商品的汇总价格呢?汇总=第一个+第二个+。。。。 --------------------编程问答-------------------- foreach( GridViewRow row in GridView1.Rows )
{
CheckBox myCheck = (CheckBox)row.FindControl("ChbUpdateRight");
} --------------------编程问答-------------------- public static string GetFormString(string strName)
{
if (HttpContext.Current.Request.Form[strName] == null)
{
return "";
}
return HttpContext.Current.Request.Form[strName];
}
SRequest.GetFormString("asd"); --------------------编程问答-------------------- 不就是个前台变化吗,用jquery控制,最后操作完毕,统一提交 --------------------编程问答-------------------- 全部前端jq操作的 --------------------编程问答--------------------
//删除按钮事件
protected void btnDelete_Click(object sender, EventArgs e)
{
for (int i = 0; i < this.GridView1.Rows.Count; i++)
{
CheckBox cb = (this.GridView1.Rows[i].FindControl("chkSelect")) as CheckBox;//获取复选框
int id=Int32.Parse(this.GridView1.DataKeys[i].Value.ToString());
if (cb.Checked)
{
m_customerBLL.DeleteModel(id);
}
}
BindCustomer();
}
我这个是删除的 你可以参考着改一下你自己的 --------------------编程问答-------------------- 在前端通过jquery应该不难实现!
补充:.NET技术 , ASP.NET