复选框在DataGrid中的使用

博客展示了ASP DATAGRID的代码设置,包括列定义、样式等。同时给出相关的JavaScript代码,实现复选框全选、选择项及控制行颜色显示变化的功能,还提供了配合的CSS文件,用于设置样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   <ASP:DATAGRID id="MyDataGrid" runat="server" Width="667px" Font-Size="10pt" AutoGenerateColumns="False"
    HeaderStyle-BackColor="darkred" HeaderStyle-ForeColor="white" Height="160px">
     <HeaderStyle ForeColor="White" BackColor="DarkRed"></HeaderStyle>
     <Columns>
      <asp:TemplateColumn>
       <HeaderTemplate>
       <input type="checkbox" name="allbox" onclick="SelectAll();"/>

       <font face="Webdings" color="white" size="4">选择</font>
       <HeaderTemplate>
       <ItemTemplate>
        <asp:CheckBox ID="SelectCheckBox" onclick="javascript:Select(this);" runat="server" />
       </ItemTemplate>
      </asp:TemplateColumn>
     <asp:BoundColumn DataField="NAME" HeaderText="文字说明"></asp:BoundColumn>

     </Columns>
    </ASP:DATAGRID>+br>

 

相关的js文件

//CheckBox全选
function SelectAll(){
var frm=document.Form1;
for (var i=0;i<frm.elements.length;i++)
{
var e=frm.elements[i];
if ((e.name != 'allbox') && (e.type=='checkbox'))
{
e.checked=frm.allbox.checked;
if (frm.allbox.checked)
{
hL(e);
}//endif
else
{
dL(e);
}//endelse

}//endif
}//endfor
}


//CheckBox选择项
function Select(CB)
{
var frm=document.Form1;
if (CB.checked)
hL(CB);
else
dL(CB);

var TB=TO=0;
for (var i=0;i<frm.elements.length;i++)
{
var e=frm.elements[i];
if ((e.name != 'allbox') && (e.type=='checkbox'))
{
TB++;
if (e.checked)
TO++;
}
}
frm.allbox.checked=(TO==TB)?true:false;
}

//以下两个用于控制被选择的行的颜色显示的变化 需要相关的css文件配合
function hL(E){ 
while (E.tagName!="TR")
{E=E.parentElement;}
E.className="H";
}

function dL(E){
while (E.tagName!="TR")
{E=E.parentElement;}
E.className="";
}

 

//相关css文件如下:

.{
 font-size : 12pt;
}
.H{
/*用于select*/
 font-size : 12pt;
        /*cursor:hand;*/
        color:#3366ff;
        background : #FFF3F3;
 border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值