How to extend ASP.NET datagrid for multi-selection of data rows.

博客展示了使用JavaScript实现复选框相关功能的代码。包含在ASP模板列中添加复选框,实现全选功能的SelectAllCheckboxes函数,以及根据复选框选中状态高亮显示行的HighlightRow函数,体现了JavaScript在网页交互中的应用。

<Columns>
 <asp:TemplateColumn>
  <HeaderTemplate>
   <asp:CheckBox id="chkAll"
      <B>onclick="javascript:SelectAllCheckboxes(this);"</B> runat="server"
    AutoPostBack="false" ToolTip="Select/Deselect All" />
  </HeaderTemplate>
  <ItemTemplate>
    <asp:CheckBox id="chkSelect" <B>onclick="javascript:HighlightRow(this);"</B>
        runat="server"<B>OnCheckedChanged= "grdEmployees_CheckedChanged"</B>
        AutoPostBack="false" />
  </ItemTemplate>
 </asp:TemplateColumn>
</Columns>

 

 

 //-------------------------------------------------------------
    // Select all the checkboxes (Hotmail style)
    //-------------------------------------------------------------
    function SelectAllCheckboxes(spanChk){
   
    // Added as ASPX uses SPAN for checkbox
    var oItem = spanChk.children;
    var theBox=oItem.item(0)
    xState=theBox.checked;   

        elm=theBox.form.elements;
        for(i=0;i<elm.length;i++)
        if(elm[i].type=="checkbox" && elm[i].id!=theBox.id)
            {
            //elm[i].click();
            if(elm[i].checked!=xState)
            elm[i].click();
            //elm[i].checked=xState;
            }
    }

    //-------------------------------------------------------------
    //----Select highlish rows when the checkboxes are selected
    //
    // Note: The colors are hardcoded, however you can use
    //       RegisterClientScript blocks methods to use Grid's
    //       ItemTemplates and SelectTemplates colors.
    //         for ex: grdEmployees.ItemStyle.BackColor OR
    //                 grdEmployees.SelectedItemStyle.BackColor
    //-------------------------------------------------------------
    function HighlightRow(chkB)    {
    var oItem = chkB.children;
    xState=oItem.item(0).checked;   
    if(xState)
        {chkB.parentElement.parentElement.style.backgroundColor='lightcoral';
           // grdEmployees.SelectedItemStyle.BackColor
         chkB.parentElement.parentElement.style.color='white';
           // grdEmployees.SelectedItemStyle.ForeColor
        }else
        {chkB.parentElement.parentElement.style.backgroundColor='white';
             //grdEmployees.ItemStyle.BackColor
         chkB.parentElement.parentElement.style.color='black';
             //grdEmployees.ItemStyle.ForeColor
        }
    }
    // -->



转自  http://www.codeproject.com/aspnet/Multi-select_Dataagrid.asp

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值