Bu makalemizdeki konumuz gridview üzerine yerletirecegimiz checkbox lar ile ilgili.

Gridview de checkbox Kullanimi

Bu makalemizdeki konumuz gridview üzerine yerletirecegimiz checkbox lar ile ilgili. Gridview satirlarinda yer alan checkbox lar ile satir bazli islemleri nasil yapabiliriz bunlari inceleyecegiz. Öncelikle sayfamiza bir gridview yerlestirelim ve verileri gridview a bind edip gridviewde görüntüleyelim.

GridView ASP.Net Kodu

<asp:GridView ID="grdFilmListesi" runat="server" Width="100%" 

    HeaderStyle-Font-Names="Tahoma" HeaderStyle-Font-Size="11px" HeaderStyle-Font-Bold="true"

    RowStyle-Font-Names="Tahoma" RowStyle-Font-Size="11px" RowStyle-Font-Bold="false"

    AutoGenerateColumns="False" BackColor="White" BorderColor="#999999"

    BorderStyle="Solid" BorderWidth="1px" CellPadding="3" ForeColor="Black"

    GridLines="Vertical" onrowcommand="grdFilmListesi_RowCommand">

    <Columns>

        <asp:TemplateField>

            <ItemTemplate>

                <asp:CheckBox ID="chkSec" runat="server" AutoPostBack="true" />

            </ItemTemplate>

        </asp:TemplateField>

        <asp:BoundField DataField="FilmId" HeaderText="Sira No" />

        <asp:BoundField DataField="OrjinalAdi" HeaderText="Orjinal Adi" />

        <asp:BoundField DataField="TurkceAdi" HeaderText="Türkçe Adi" />

        <asp:BoundField DataField="Kategori" HeaderText="Kategori" />

    </Columns>

    <FooterStyle BackColor="#CCCCCC" />

    <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />

    <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />

    <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />

    <AlternatingRowStyle BackColor="#CCCCCC" />

</asp:GridView>

Yukaridaki asp.net kodun html görüntüsü asagidaki sekilde olacaktir. Checkbox üzerine gelip isaretlemeler gerçeklestirebiliriz.

 Peki bu isaretlenmis satirlari nasil yakalayabiliriz.

 

Isaretli Satiri

for (int i = 0; i < grdFilmListesi.Rows.Count; i++)

{

    GridViewRow row = grdFilmListesi.Rows[i];

    if (((CheckBox)row.FindControl("chkSec")).Checked)

    {

        //Satir isaretli ise

        //grdFilmListesi.Rows[i].Cells[2].Text

 

    }

}

Gridimizde çok fazla satir var ve tüm kayitlar seçilmek isteniyor. Bu durumda checkbox larin header kismina bir checkbox daha yerlestirelim. En tepedeki checkbox isaretlenirse tüm satirlarin isaretlenmesini de javascript kodlariyla gerçeklestirelim

 

Gridview TemplateField

<HeaderTemplate>

  <input id="chkAll" onclick="javascript:TumunuSec(this);"

              runat="server" type="checkbox" />

</HeaderTemplate>

Vee Final yukaridaki checkbox in onclick olayinda javascript kodunun çalistiralacagini görüyoruz. Simdi o JavaScript koduna gelelim.

 

Java Script Kodu

<script language="javascript">

    function TumunuSec(_Chek)

    {

        var mCheck = (_Chek.type == "checkbox") ? _Chek : _Chek.children.item[0];

        mDurum = mCheck.checked;

        mGrid = mCheck.form.elements;

 

        for(i=0;i<mGrid.length;i++)

            if (mGrid[i].type == "checkbox" && mGrid[i].id != mCheck.id)

        {

            if (mGrid[i].checked != mDurum)

                mGrid[i].click();

        }

    }

</script>

 

Böylelikle tek bir check box ile tüm satirlari isaretlemis oluruz.

İlgili Makaleler

Bu yazıya 0 yorum yapılmış.

Yorum Gönder