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

來源:互聯網
上載者:User

<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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.