现在的位置: 首页 > 综合 > 正文

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

2012年12月07日 ⁄ 综合 ⁄ 共 2194字 ⁄ 字号 评论关闭

<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

 

抱歉!评论已关闭.