请问在GridView中,如何实现CheckBox的选择后,翻页仍然有效 就是在GridView页面的选择,向前向后翻动,都可以保持住原来checkBox的选择,希望有个成熟的做法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用TextBox作为保存是可以实现,但是假设翻页回去,取消已经按过的checkBox,这个就很难做了。另外我想问如何定位到当前页 通过模板列 <input type="checkbox" runat="server" id="chkSelect" onclick="AddValues(this)" value='<%#DataBinder.Eval(Container.DataItem,"XTBH")%>' title='<%#DataBinder.Eval(Container.DataItem,"ZT")%>' NAME="chkSelect"/>function AddValues(oChk) { if(oChk.checked){ var z=oChk.title; Form1.Hd.value += "," + oChk.value; Form1.HdZT.value+=","+z; }else{ var z=oChk.title; Form1.Hd.value = Form1.Hd.value.replace("," + oChk.value,""); Form1.HdZT.value = Form1.HdZT.value.replace("," + z,""); }}<INPUT id="Hd" type="hidden" name="Hd" runat="server"><INPUT id="HdZT" type="hidden" name="HdZT" runat="server">实现保存 http://topic.csdn.net/u/20090310/02/bd11de6f-e475-41bf-8097-ad5ea04120c7.html http://topic.csdn.net/u/20090310/02/bd11de6f-e475-41bf-8097-ad5ea04120c7.html 在朋友的帮助下,这是我的解决方案,添加2个textbox记录变量信息,在模板列的CheckBox事件中写程序,记录id等信息,在gridview的RowDataBound事件中,把记录的信息反映到列中的checkbox,程序调试成功 protected void CheckBox_telecomm_CheckedChanged(object sender, EventArgs e) { CheckBox cb1 = (CheckBox)sender; if (cb1.Checked) { //if (LabelTelecommID.Text == "") // LabelTelecommID.Text = cb1.Text; //else LabelTelecommID.Text = LabelTelecommID.Text + "^" + cb1.Text; LabelTelecommCount.Text = Convert.ToString(Convert.ToInt16(LabelTelecommCount.Text) + 1); } else { LabelTelecommID.Text = LabelTelecommID.Text.Replace(cb1.Text, ""); LabelTelecommCount.Text = Convert.ToString(Convert.ToInt16(LabelTelecommCount.Text) - 1); } } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (LabelTelecommID.Text == "") return; foreach (GridViewRow row in GridView1.Rows) { CheckBox cb = row.FindControl("CheckBox_telecomm") as CheckBox; if (LabelTelecommID.Text.IndexOf(cb.Text) >= 0) { cb.Checked = true; } } } sunck ,你这方法真的可行吗?我试过怎么不行啊? win7 64位下C#怎么调用VC32位动态库 visual studio新建项目啥都没有 winform中 键盘钩子的一些问题 C# 窗体中的文本框获取焦点 在C#中使用 aforge.net 的问题 c#如何获取调用者的信息 如何显式的触发控件事件 救命救命!!help!help!!! 连接数据库! 小弟我正准备考高程!不知高程有用吗?现在我大三!! 求助一个客户端支持代理服务器的问题 再开贴求对应函数关系 c# asp.net 一次清除treeview中的数据?
<input type="checkbox" runat="server" id="chkSelect" onclick="AddValues(this)" value='<%#DataBinder.Eval(Container.DataItem,"XTBH")%>' title='<%#DataBinder.Eval(Container.DataItem,"ZT")%>' NAME="chkSelect"/>
function AddValues(oChk) {
if(oChk.checked)
{
var z=oChk.title;
Form1.Hd.value += "," + oChk.value;
Form1.HdZT.value+=","+z;
}
else
{
var z=oChk.title;
Form1.Hd.value = Form1.Hd.value.replace("," + oChk.value,"");
Form1.HdZT.value = Form1.HdZT.value.replace("," + z,"");
}
}
<INPUT id="Hd" type="hidden" name="Hd" runat="server"><INPUT id="HdZT" type="hidden" name="HdZT" runat="server">
实现保存
添加2个textbox记录变量信息,在模板列的CheckBox事件中写程序,记录id等信息,在gridview的
RowDataBound事件中,把记录的信息反映到列中的checkbox,程序调试成功
protected void CheckBox_telecomm_CheckedChanged(object sender, EventArgs e)
{
CheckBox cb1 = (CheckBox)sender;
if (cb1.Checked)
{
//if (LabelTelecommID.Text == "")
// LabelTelecommID.Text = cb1.Text;
//else
LabelTelecommID.Text = LabelTelecommID.Text + "^" + cb1.Text;
LabelTelecommCount.Text = Convert.ToString(Convert.ToInt16(LabelTelecommCount.Text) + 1);
}
else
{
LabelTelecommID.Text = LabelTelecommID.Text.Replace(cb1.Text, "");
LabelTelecommCount.Text = Convert.ToString(Convert.ToInt16(LabelTelecommCount.Text) - 1);
} } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{ if (LabelTelecommID.Text == "")
return; foreach (GridViewRow row in GridView1.Rows)
{
CheckBox cb = row.FindControl("CheckBox_telecomm") as CheckBox; if (LabelTelecommID.Text.IndexOf(cb.Text) >= 0)
{
cb.Checked = true;
} }
}