Xml Web Service Session Kullanımı

Hiç yorum yok
Merhaba Arkadaşlar

Bu bölümde Xml Web Service'lerde  Session kullanımına bakıyor olacağız.örneğimizi basit bir uygulama üzerine indirgeyerek uygulamayı geliştiryor olacağız.

Öncelikle Xml Web Service'lerde Session kullanacaksak aşağıdaki gibi WebMethod attribute içinde sessiona izin veriyor olacağız .Daha sonrasında config dosyamızı açıp aşağıdaki gibi cookies izin veriyor olacağız.

Service içinde yazılan method:

Config Dosyası :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="Service1Soap" allowCookies="true" />
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:1078/Service1.asmx" binding="basicHttpBinding"
                bindingConfiguration="Service1Soap" contract="ServiceReference1.Service1Soap"
                name="Service1Soap" />
        </client>
    </system.serviceModel>
</configuration>
 
 Şimdi ise uygulammızda yazmış olduğumuz kodlara bakalım 
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Data;
using System.IO;
 
namespace WebServiceUygulama2
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {
 
        [WebMethod(EnableSession=true)]
        public string  LoginOlKeyli(string KullaniciAdi,string Paralo)
        {
            string sonuc="";
            if (KullaniciVarmi(KullaniciAdi))
            {
                sonuc = Guid.NewGuid().ToString();
                Session["kul"] = sonuc;
            }
 
            return sonuc;
        }
 
        [WebMethod(EnableSession=true)]
        public bool SiparisGec(string UrunAdi, string miktar, string key)
        {
            if (Session["kul"] != null && Session["kul"].ToString() == key)
            {
                StreamWriter sw = new StreamWriter(@"C:\SessionSiparis.txt",true);
                sw.WriteLine(DateTime.Now + " Tarihinde " + UrunAdi + "  Adlı Urunden" + miktar + "  Adet Sipariş Geçildi");
                sw.Close();
                return true;
            }
            return false;
 
        }
 
        public bool KullaniciVarmi(string Adi)
        {
            bool sonuc = false;
            SqlConnection cnn = new SqlConnection("Server=.;Database=DuffDunnAyakkabi;trusted_connection=true");
            SqlCommand cmd = new SqlCommand("Select * from Musteri where Adi=@Adi", cnn);
            cmd.Parameters.AddWithValue("@Adi", Adi);
            if (cnn.State == ConnectionState.Closed)
            { cnn.Open(); }
            SqlDataReader rdr = cmd.ExecuteReader();
            while (rdr.Read())
            {
                sonuc = true;
            }
            rdr.Close();
            cnn.Close();
 
            return sonuc;
        }
    }
}
 
Daha Sonrasında References bölümüne tıklayıp bu service kullanacak uygulama 
üzerinde webservice'mizi  refere edelim
 
 
 
 

Daha sonra servicemizi  kullanacak uygulama içersinde servicemizi çağırıp kulllanalım 


private void btnSiparisGec_Click(object sender, EventArgs e)
{
            ServiceReference1.Service1SoapClient sw = new ServiceReference1.Service1SoapClient();
            string donendeger= sw.LoginOlKeyli(txtKulAdi.Text, txtSifre.Text);
             
            bool sonuc=sw.SiparisGec(txtUrunAdi.Text, txtMiktar.Text, donendeger);
            if (sonuc)
            {
                MessageBox.Show("Siparis Gecildi");
            }
            else
            {
                MessageBox.Show("Login olunuz");
            }
        }
 Video Anlatım :
 



 


Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

XML Web Service Giriş Uygulaması

Hiç yorum yok
Merhaba Arkadaşlar,

Bu bölümde xml web servicelere bakıyor olacağız.Amacımız örnek bir senaryo üzerinde ilerleyerek siparis gecebildiğimiz bir uygulama yazabilmek .Bu aşama da bir market olduğumuzu farz edelim ve ürünleri aldığımız tedarikcilerden elimizdeki satmış olduğumuz ürünler tam anlamıyla bitmeden mutlaka stoğumuzu artırabilmek için sipariş gecebilmemiz gerekmektedir.Biz bu senaryoyu ele alıp örnek uygulamımızı yazalım.

Öncelikle tedarikciden satmış olduğu ürünlerin listesini alalım .Bunun için tedarikçinin bize yolladığı web service adresini kullanarak elde edebiliriz.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Xml;
using System.Data;
 
namespace Tedarikci
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {
 
        [WebMethod]
        public string UrunListesi()
        {
            SqlConnection cnn;
            XmlReader rdr = null;
            string donendeger = null;
            string baglantim = @"Server=.;Integrated Security =SSPI;Initial Catalog=KuzeyRuzgari";
            cnn = new SqlConnection(baglantim);
 
            try
            {
                if (cnn.State == ConnectionState.Closed)
                {
                    cnn.Open();
                }
                string sorgu = "Select UrunID ,UrunAdi ,Fiyat from Urunler where SatilmiyorMu=1 order by UrunAdi desc for xml auto,root('Urunler')";
                SqlCommand cmd = new SqlCommand(sorgu, cnn);
                rdr = cmd.ExecuteXmlReader();
                rdr.Read();
                while (rdr.ReadState != ReadState.EndOfFile)
                {
                    donendeger += rdr.ReadOuterXml();
                }
            }
            catch
            {
 
            }
            finally
            {
                cnn.Close();
                rdr.Close();
            }
            return donendeger;
        }
    }
}
 
Şimdi ise bu yazılan web service kullanmak gerekmekte öncelikle uygulamamıza 
add service referans bölümünden tedarikcinin web service ni alalım.Daha Sonra
uygulamamız üzerinde web servicedeki ürün listesi döndüren metodu kullanalım 
 
 

 protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack == false)
            {
                VeriGetir();
            }
        }
 
        private void VeriGetir()
        {
            UrunSipList.Service1 sw = new UrunSipList.Service1();
            XmlDataSource1.Data = sw.UrunListesi();
            drpUrun.DataSource = XmlDataSource1;
            drpUrun.DataTextField = "UrunAdi";
            drpUrun.DataValueField = "UrunID";
            drpUrun.DataBind();
        }
 Daha Sonra siparis gecmek için bu aşamada (video uzamasın diye Streamwriter Kullandım)
veri tabanına sipariş gececek bölümü yazalım
 
 protected void drpUrun_SelectedIndexChanged(object sender, EventArgs e)
        {
            txtAdi.Text = drpUrun.SelectedItem.Text;
        }
 
        protected void btnSiparis_Click(object sender, EventArgs e)
        {
            TedarikSiparisGec.Service1 tds = new TedarikSiparisGec.Service1();
            tds.SiparisGec(txtAdi.Text,Convert.ToInt32(txtMiktar.Text));
 
        } 

Tabi birde SiparisGec Webservicene ihtiyacımız var onu yazalım .

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.IO;
 
namespace MigrosService
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {
 
        [WebMethod]
        public void SiparisGec(string UrunAdi,int Adet)
        {
           
            StreamWriter stw = new StreamWriter(@"C:\siparisler.txt");
            stw.WriteLine(UrunAdi + "Adlı Urunden " + Adet + "Adet sipariş Gecildi");
            stw.Close();
            
        }
    }
}
 


Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

Crystal Reports Raporlama

Hiç yorum yok

Merhaba Arkadaşlar,

Öncelikle Crystal Reports kullanımına değinmeden evvel belli bir süredir beni takip eden biriyseniz.Bu işe ilk
başaladığımda eklemiş olduğum Crystal Reports videolarını anımsar gibisinizdir.Aradan yıllar geçmesine rağmen  geçenlerde bir iş görüşmesinde kulak misafiri olarak bulunduğum ortamda raporlama üzerine Crystal Reports kullanılması üzerine yeniden Crystal Reports üzerinden anlatımlarımızı gerçekleştiriyor olacağız.Belirtmek isterim raporlama olarak kendi tercihim reports viewer 

Neyse konu çok fazla dağılmadan bir örnekle Crystal Reports kullanımına bakalım .



Crystal Reports Raporlama DataSet Kullanımı paylaşan: sinan-d-arslan-1




Kullanılan app.config ayarı

 <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>

Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

DataGridView Arama ve Silme İşlemleri

Hiç yorum yok
Merhaba Arkadaşlar,


Öncelikle işlerimden dolayı mvc  anlatımımız yarım kaldı en kısa zamanda mvc üzerinden anlatımlarımıza devam ediyor olacağız.Tabi bu aşamada sizlerden gelen sorularıda eksik cevapsız bırakmamak için bu bölümde DataGirdview üzerinden arama silme silinenleri geri yükleme işlemlerine bakıyor olacağız.

Tabi örneğe başlamadan önce şunu belirtmeliyim.C# bir okyanus olduğu için yapılan işlemler birden farklı yoldan yapılabilir .Ben ise blogumda genel anlamda örnekler üzerinden ilerleyen biri olarak amacımız örnek üzerinden istenileni gerçekleştirmek olacaktır.

Lafı fazla uzatmadan örneğimiz gelsin

DataGridView Arama Silme Bulma İşlemleri

Öncelikle Forma 2 adet DatagridView, 2 adet buton 1 Adet label ve 1 adet textbox atalım.Ve aşağıdaki görüntüyü elde edelim


Daha Sonra Kontrolleri Gereken isimlendirme işlemlerini yapabilirsiniz.Şimdi amacımıza gelelim .Üsttekki ilk grid'mizde veri tabanından gelen verilerimiz listelenecek .daha sonrasında textboxdan girilen aranacak kelimeye göre bir listeleme işlemi olacak . Ve eğer kayıt silinmek istenirse silinecek.Silinen kayıtlar istenirse ikinci girdde gösterilecek ve daha sonrasında talebe göre birinci gride ekelenecek.Şimdi Kodlama işlemlerine
geçelim.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
 
namespace _07_AdoOrnek
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        DataTable dt;
        private void Form1_Load(object sender, EventArgs e)
        {
            SqlConnection cnn = new SqlConnection("server=.; Database=KuzeyRuzgari; trusted_connection=true");
            SqlDataAdapter adp = new SqlDataAdapter("SELECT * FROM Urunler", cnn);
            dt = new DataTable();
            adp.Fill(dt);
            dataGridView1.DataSource = dt;
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            DataView dv = new DataView(dt);
            //Flan = 323 OR Filan= 'ABS'
            try
            {
                dv.RowFilter = "UrunAdi LIKE '%" + textBox1.Text + "%' OR Fiyat = " + textBox1.Text;
            }
            catch
            {
                dv.RowFilter = "UrunAdi LIKE '%" + textBox1.Text + "%'";
            }
            //"UrunAdi LIKE 'gra%'"
            dataGridView1.DataSource = dv;
        }
 
        private void btnSilinenleriGoster_Click(object sender, EventArgs e)
        {
            DataView dv = new DataView(dt);
            dv.RowStateFilter = DataViewRowState.Deleted;
            dataGridView2.DataSource = dv;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow dgvr in dataGridView2.SelectedRows)
            {
                int i = 0;
                foreach (DataRow dc in dt.Rows)
                {
                    if (dc.RowState == DataRowState.Deleted)
                    {
                        if (dgvr.Index == i)
                        {
                            dc.RejectChanges();
                        }
                        i++;
                    }
                }
            }
        }
    }
} 
 
Şimdi ise kodlarımızı 1 defa build edelim ve daha sonrasında çalıştıralım
Kodlarımız çalıştığında birinci grid üzerine gelip herhangi bir satırda 
delete tuşuna basalım ve satırı silelim.
 
 Daha sonrasında silinenleri göster butonuna basalım ve daha sonrasında 
ikinci gridde listelenenler üzerine gelip secilenleri geri yükle butonuna 
basalım.Secilenlerin birinci gride yüklendiğini fark etmişizdir.Şimdi 
gelelim Arama işlemlerimize ve yukardaki textbox'ımıza degerler girip aratalım


Evet Arkadaşlar bu uygulamanında sonuna geldik umarım faydalı olmuşumdur.Analatımdan memnun iseniz yada  konu altına yorum ekleyerek destek olabilirsiniz.Kolaylıklar dilerim arkadaşlar 


Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

Asp.Net Master Kullanımı Web User Controls Kullanımı

Hiç yorum yok
Merhaba Arkadaşlar , Bu Bölümde Master page kavramına değiniyor olacağız.Master page aynı tasarımı birden faklı sayfada kullanmak istediğimiz de tek bir sayfada tasarım yapıp bu sayfadan türeyen sayfalarda kullanabileceğimiz bir yapıdır.Şimdi bir örnek üzerinden inceleyelim . Master page Sayfamız aşağıdaki
gibidir.

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Main.master.cs" Inherits="MasterPagesYapisi.Main" %>
 
<%@ Register src="UCControls/UCKategori.ascx" tagname="UCKategori" tagprefix="uc1" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link href="Styles/StyleSheet1.css" rel="stylesheet" type="text/css" />
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div id="main-content">
    <div id="Header">
    <div class="logo"> 
        <img src="Images/Mercedes-Logo.png" height="100px" /></div>
        <div class="Ara">
            <asp:TextBox ID="txtAra" runat="server"></asp:TextBox><asp:Button ID="btnAra" runat="server" Text="Ara" /></div>
       
    </div>
    <div id="content">
    <div class="menusol">
        <uc1:UCKategori ID="UCKategori1" runat="server" />
    </div><div class="menusag">
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
        </asp:ContentPlaceHolder>
    </div>
    </div>
    <div class="Temizle"></div>
    <div id="footer">Tüm Hakları Saklıdır</div>
    </div>
    </form>
</body>
</html> 
 ====================================================================
Css Dosyamız
 
body
{
    background-colorGray;
    font-familyCalibri;
    font-sizesmall;
    margin0px;
}
#main-content
{
    width800px;
    height700px;
    margin20px auto;
    background-colorWhite;
    -webkit-border-radius10px;
    border-radius10px;
    -moz-border-radius10px;
}
#Header
{
    height100px;
    padding10px;
}
#Header .logo
{
    width150px;
    height100px;
    floatleft;
}
#Header .Ara
{
    width350px;
    height100px;
    floatright;
 
}
#Header .Ara .Ara-text
{
    -webkit-border-radius5px;
    border-radius5px;
    -moz-border-radius5px;
    border-color:gray;
    floatleft;
    padding2px;
    font-familyCalibri;
    font-sizesmall;
    colorMaroon;
    float:left;
    
}
#Header .Ara .Ara Button
{
    -webkit-border-radius5px;
    border-radius5px;
    -moz-border-radius5px;
    float:right
 }
#content
{
     width:800px;
     height:auto;
}
#content .menusol
{
    width:180px;
    padding:10px;
    float:left;
}
#content .menusag
{
    width:580px;
    padding:10px;
    margin:0px;
    float:right;
}
#content .menusol .Baslik
{
     text-align:center;
     border:1px solid #CCC;
     
    }
#content .menusol ul
{
     list-style:none;
     display:inline;
     padding:2px;
     
 }
 
 #content .menusol ul li
 {
     margin:5px;
     color:Orange;
     cursor:pointer;
  }
   #content .menusol ul li:hover
   {
       color:Maroon;
       }
.Temizle
{
    clear:both;
}
#footer
{
    text-align:center;
    width:800px;
    
    } 
 =====================================================================
Kullanmış olduğumuz Web User Control'ümüz
 
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UCKategori.ascx.cs" Inherits="MasterPagesYapisi.UCControls.UCKategori" %>
   <asp:Repeater ID="rptkategori" runat="server" DataSourceID="SqlDataSource1">
        <HeaderTemplate><div class="Baslik">Kategoriler</div><ul></HeaderTemplate>
        <ItemTemplate>
        <li><%#Eval("KategoriAdi"%></li>
        </ItemTemplate>
        <FooterTemplate></ul></FooterTemplate>
        </asp:Repeater>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:KuzeyRuzgariConnectionString %>" 
            SelectCommand="SELECT [KategoriID], [KategoriAdi] FROM [Kategoriler]">
        </asp:SqlDataSource> 
======================================================================




Asp.Net Master Page Video paylaşan: sinan-d-arslan-1

Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.

Asp.Net Gridview Çoklu Silme İşlemleri

1 yorum
Merhaba Arkadaşlar ,

Bu bölümde contanier controllerden asp.net Gridview 'i incelemeye çalışacağız.Herzamanki gibi blogun amacı olan bir şekilde detaylı bir örnek üzerinden anlatmaya çalışacağım.Ozaman ilk Uygulamamız gelsin .

Asp.Net Gridview Çoklu Silme İşlemleri

Bu bölümde hotmailin içinde bulunan çoklu silme ve seçme yapabildiğimiz gridview örneğimizle başlayalım .

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
namespace GridviewKullanimi
{
    public class Calisan
    {// Veri Tabanınını Modellediğimiz Calisan Class'ımız
        public int CalisanID { getset; }
        public string CalisanAdi { getset; }
        public string Cinsiyet { getset; }
        public string  Sehir { getset; }
    }
 
 
    public class CalisanIslemleri
    {//Sayfalarda kullandığımız Metodları içeren classımız
        public static List<Calisan> TumCalisanlarGelsin()
        {
            //List ile calisan tipinde verileri tutacağını söylüyoruz
            List<Calisan> calisan = new List<Calisan>();
 
            string baglantim = ConfigurationManager.ConnectionStrings["Bagla"].ConnectionString;
            //Garbage Collector ile veri tabanına baglanma İşlemlerimizi gerçekleştiriyoruz
            using (SqlConnection cnn = new SqlConnection(baglantim))
            {
                SqlCommand cmd = new SqlCommand("Select * from Calisan ", cnn);
                cnn.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    // Verileri okuyup calısan adındaki bir instance dan alacağız 
                    //Yukarda listimiz bizden calisan istedemekteydi
                    Calisan cl = new Calisan();
                    cl.CalisanID = Convert.ToInt32(rdr["CalisanID"]);
                    cl.CalisanAdi = rdr["CalisanAdi"].ToString();
                    cl.Cinsiyet = rdr["Cinsiyet"].ToString();
                    cl.Sehir = rdr["Sehir"].ToString();
                    //calisan ismindeki generic listimize rdr ile okuyup doldurmuş olduğumuz classımızı
                    //ekliyoruz
                    calisan.Add(cl);
                }
            }
            return calisan;// Yazdığımız metod bizden geriyer genericlist tipinde <calisan > döndürmemizi istiyor
        }
 
        public static void CalisanSil(int CalisanID)
        {
            // ID ye göre gelen veri Siliniyor 
            string baglantim = ConfigurationManager.ConnectionStrings["Bagla"].ConnectionString;
            using (SqlConnection cnn = new SqlConnection(baglantim))
            {
                SqlCommand cmd = new SqlCommand("Delete From Calisan Where CalisanID=@CalID", cnn);
                cmd.Parameters.AddWithValue("@CalID", CalisanID);
                cnn.Open();
                cmd.ExecuteNonQuery();
            }
        }
 
        public static void CalisanSil(List<string> GelenCalisanIDleri)
        {
            // Tüm Metodların static yapılması sürekli instance almak istemeyişim
            string baglantim = ConfigurationManager.ConnectionStrings["Bagla"].ConnectionString;
            using (SqlConnection cnn = new SqlConnection(baglantim))
            {
                string gelenIDler = string.Empty;// string tipinde boş bir değişken oluşturuldu
                // amaç List<string> gelencalisanIDleri okunanları tutması
                foreach (string item in GelenCalisanIDleri)
                {
                    gelenIDler += item + ",";//her okunan ID 1,2,3,4,5, seklinde yazılıyor
 
                }
                gelenIDler = gelenIDler.Remove(gelenIDler.LastIndexOf(","));// en sonda olan fazladan 
                // atılmış "," işaret kaldırıldı
                string silineceklerlistesi = "Delete From Calisan where CalisanID IN (" + gelenIDler + ")";// Sorguda bulunan listeden gelecek Idlerin tamamı silineceklistesi adlı değişkene Aktarıldı 
                SqlCommand cmd = new SqlCommand(silineceklerlistesi, cnn);
                cnn.Open();
                cmd.ExecuteNonQuery();
            }
        }
    }
}
 
=====================================================================
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace GridviewKullanimi
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CalisanGetir();// Eğer Form PostBack Değilse CalisanGetir() Metodmuz tarafından dolacak
                //ve bu metod her bir yapdığımız silme işleminden sonra tekrar çağılmakta
            }
        }
 
        private void CalisanGetir()
        {
            grdSonuc.DataSource = CalisanIslemleri.TumCalisanlarGelsin();
            grdSonuc.DataBind();
        }
 
        protected void chckTum_CheckedChanged(object sender, EventArgs e)
        {
            // Amacımız sayfamızda eklemiş olduğumuz tümünüsec checkbox secili ise diger checkboxlarıda 
            // Secmek eğer secili değilse hiç biri secili olmasın 
            foreach (GridViewRow item in grdSonuc.Rows)
            {
                ((CheckBox)item.FindControl("ChckSecilen")).Checked = ((CheckBox)sender).Checked;
            }
        }
 
        protected void ChckSecilen_CheckedChanged(object sender, EventArgs e)
        {
            // Amacımız Tümcheckbozları secilip içinden herhangi birinin checked özelliği kakması 
            // Durumunda Tümcheckboxları secilmesini sağladığımız chckTum ismindeki checkboxımızından 
            // Check'ının kakması Unutulmamalıdırki gridview bir contanierdir .
            //Doğal olarak içerisindeki kontrolleri direk erişim yoktur
            //bu aşamada FindControl("aranacakkontrol"); bulunabilir
            
            CheckBox chBas = (CheckBox)grdSonuc.HeaderRow.FindControl("chckTum");
            if (chBas.Checked)
            {
                chBas.Checked = ((CheckBox)sender).Checked;
            }
            else
            {
                bool secilimi = true;
                foreach (GridViewRow item in grdSonuc.Rows)
                {
                    if (!((CheckBox)item.FindControl("ChckSecilen")).Checked)
                    {
                        secilimi = false;
                        break;
                    }
                }
                chBas.Checked = secilimi;
            }
        }
 
        protected void btnSil_Click(object sender, EventArgs e)
        {
            // Projemizin amacı ola çoklu silme işlemlerinin gerçekleşebilmesi
            //için list<string> tipnde tüm secilmiş ıdleri alacağız
            List<string> secililisteSil = new List<string>();
            foreach (GridViewRow item in grdSonuc.Rows)
            {
                if (((CheckBox)item.FindControl("ChckSecilen")).Checked)
                {
                    string calisanID = ((Label)item.FindControl("Label1")).Text;
                    secililisteSil.Add(calisanID);
                }
            }
            if (secililisteSil.Count > 0)
            {
                lblMesaj.ForeColor = System.Drawing.Color.Blue;
                CalisanIslemleri.CalisanSil(secililisteSil);// 2.YOL
                lblMesaj.Text = secililisteSil.Count.ToString() + "Adet calisan Silindi";
                //foreach (string item in secililisteSil)  1.YOL
                //{
                //    CalisanIslemleri.CalisanSil(Convert.ToInt32(item));
 
                //}
                CalisanGetir();
            }
            else
            {
                lblMesaj.ForeColor = System.Drawing.Color.Maroon;
                lblMesaj.Text = secililisteSil.Count.ToString() + "  Adet Kayıt Sectiniz.Lütfen Listeden Bir Kayıt Seçiniz";
            }
        }
    }
}
 




Asp.Net GridView Çoklu Secme Silme İşlemleri... paylaşan: sinan-d-arslan-1



Asp.Net GridView Çoklu Seçme Silme Video 2 paylaşan: sinan-d-arslan-1

1 yorum :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.