请教datagrid中关于模板列复选框的问题?
在datagrid中第一列增加了一个模板列CheckBox,想实现类似邮箱的功能(同时选择多行后,单击页面上的“删除”按钮选中的全部删除。请问如何实现,假如数据表的名字为student(xh,name,xb) 问题点数:80、回复次数:9Top
1 楼wangxiaohu(如花)回复于 2004-12-02 15:05:02 得分 30
<asp:TemplateColumn>
<HeaderTemplate>
<INPUT id="chkall" onclick="CheckAll(this.form)"/*页眉上的check实现全选功能*/ type="checkbox" value="on" name="chkall">
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="selected" runat="server" OnLoad="CheckBox_PreRender"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>Top
2 楼wangxiaohu(如花)回复于 2004-12-02 15:05:42 得分 0
function CheckAll(form)
{
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if (e.name != 'chkall')
e.checked = form.chkall.checked;
}
}Top
3 楼wangxiaohu(如花)回复于 2004-12-02 15:06:21 得分 0
当然,删除的代码还要另外写Top
4 楼goody9807(http://goody9807.cnblogs.com)回复于 2004-12-02 15:08:14 得分 30
function SelectAllCheck()
{
var m=window.document.Form1.elements.length;
for(var t=0;t<m;t++)
{
if(window.document.Form1.elements[t].name.indexOf("CheckBoxList1")!=-1)//找到
{
if(window.document.Form1.SelectAll.checked==true)
window.document.Form1.elements[t].checked=true;
else
window.document.Form1.elements[t].checked=false;
}
}
return false;
}
</script>
------------------------------------------------
function CheckedCount()
{
try
{
var mm = document.getElementsByTagName("input").length ;
for(var i=0;i<mm;i++)
{
var dd = document.getElementsByTagName("input").item(i);
if(dd.type == "checkbox")
{
if(!dd.checked)
{
dd.checked = true;
}
}
}
}
catch(e)
{
//alert(e);
}
}
Top
5 楼goody9807(http://goody9807.cnblogs.com)回复于 2004-12-02 15:11:27 得分 0
http://dotnet.aspx.cc/ShowDetail.aspx?id=FF130C7F-3650-4DA6-8943-8AA4AF3E3459Top
6 楼thooy(雨天)回复于 2004-12-02 15:11:32 得分 10
删除的代码.cs文件
private void del_Click(object sender,EventArgs e)
{
foreach(DataGridItem item1 in this.DataGrid1.items)
{
CheckBox box1= (CheckBox)item1.FindControl("chkall")
if(box1.Checked == "true")
{
//这里放删除的操作!
}
}
}Top
7 楼wangxiaohu(如花)回复于 2004-12-02 15:14:10 得分 0
删除事件:
private void Button2_Click(object sender, System.EventArgs e)
{
System.Web.UI.WebControls.CheckBox chkSelected;
ArrayList DelArray=new ArrayList();
foreach (DataGridItem Item in DGBusiness.Items)
{
chkSelected = (CheckBox)Item.FindControl("selected");
if (chkSelected.Checked)
{//获得需要删除的ID号
string key = DGBusiness.DataKeys[Item.ItemIndex].ToString();
}
.......
.......//根据ID删除记录
}
BindDataSource();
}Top
8 楼hwmok()回复于 2004-12-02 15:59:22 得分 10
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
for (i = 0; i < field.length; i++) {
field[i].checked = true;}
checkflag = "true";
return " 不 选 "; }
else {
for (i = 0; i < field.length; i++) {
field[i].checked = false; }
checkflag = "false";
return " 全 选 "; }
}Top
9 楼kindgirl(四季青)回复于 2004-12-02 19:18:35 得分 0
wangxiaohu(如花)<asp:CheckBox id="selected" runat="server" OnLoad="CheckBox_PreRender"></asp:CheckBox>运行时报错,checkbox_PreRender有问题,这是什么呀!多谢大家了,先给分吧,自己再去琢磨一下。
Top




