Gridview Butonları İle Uyarı Gösterimi

  • 28.11.2015
  • tayyipyetis
  • ASP.Net

gridview butonMerhaba arkadaşlar, bu kısa makalede küçük ama önemli bir işlemden bahsedeceğim. Asp.Net Gridview ile listeme yapıldığımızda satır düzenleme silme işlemleri de yapmak isteyebiliriz. ve bilindiği gibi silme işlemi önemlidir ve genelde silme butonuna tıklandığında işlem yapılmadan onay istenir sonuçta yanlışlıkla veya istenmeden basılmış olabilir. html kontrollerin bu işlemi yapmak aşağıdaki gibi daha basittir.

<input type="button" id="btnsil" onclick="return confirm('Silme işlemini onaylıyor 
musunuz ?')"/>

Asp.net gridview'de ise kullanım biraz daha farklıdır çünkü gridview içindeki butonlar standart olarak değil kendine özgü bir biçimde tanımlanır bu tanımlamada butonunun click olayına ulaşmak için CustemValidator kullanılmalıdır. Aşağıdaki gibi bir Gridview olsun

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" Font-Names="Arial" ForeColor="#333333" GridLines="None" Width="753px">
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="ID" />
                <asp:BoundField DataField="adi" HeaderText="Üye Adı" />
                <asp:BoundField DataField="soyadi" HeaderText="Üye Soyadı" />
                <asp:BoundField DataField="email" HeaderText="Email" />
                <asp:BoundField DataField="sifre" HeaderText="Şifre" />
                <asp:ButtonField ButtonType="Button" CausesValidation="true" ValidationGroup="validgrup" CommandName="sil" Text="Sil" />
            </Columns>
            <EditRowStyle BackColor="#999999" />
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <SortedAscendingCellStyle BackColor="#E9E7E2" />
            <SortedAscendingHeaderStyle BackColor="#506C8C" />
            <SortedDescendingCellStyle BackColor="#FFFDF8" />
            <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>

Gridview butonunun CausesValidation özelliğini true yapıp tıklama olayında doğrulama işlemini açtık ve ValidationGroup değerini CustemValidator ile aynı değeri vererek iki kontrolü birbiri ile ilişkilendiriyoruz.

<asp:CustomValidator ID="CustomValidator1" runat="server" ValidationGroup="validgrup" 
ClientValidationFunction="dogrula" ErrorMessage=""></asp:CustomValidator>

CustomValidator kontrolünün validation işlemini hem client yani javascript veya server taraflı yapabilirsiniz biz burada confirm pencere göstereceğimiz için client taraflı validation yapacağız bunun için ClientValidatorFunction özelliğine doğrulama yapacağımız fonksiyonun ismini veriyoruz. Javascript fonksiyonumuz şöyle

<script>
  function dogrula(source, arguments) {
  arguments.IsValid = confirm("Silmek istiyor musunuz ?");
  }
</script>

Bu şekilde Gridview butonuna basıldığında CustemValidator aracılığı ile Javascript fonksiyonumuzu çağırıp uyarı penceresi açılmasını ve kullanıcıdan onay ya da red cevabı alınmasını sağlıyoruz ve kullanıcının cevabı ile formu post ediyor ya da hiçbir işlem yaptırmıyoruz. işlemler bu kadar hepinize kolay gelsin.

Mustafa Tayyip YETİŞ
Yazılım Geliştirme Uzmanı

Yorum Gönder

Diğer Makaleler

Etiketler