12 Ara 2006 Gridview Kontrolü ile Çoklu Silme İşlemi Kategori: ASP.NET Etiketler: ASP.NETASP.NET 2.0 1 Yorum Merhaba arkadaşlar bu makalemizde gridview kontrolü içerisinde seçili olan kayıtları silme işleminin nasıl yapılacağına bakacağız...Kalabalık bir kayıt listesi içerisinde gereksiz olan bir çok kayıt silinmek istendiginde bu kayıtları tek tek silmek çogu zaman kullanıcı için sıkıcı bir istir. Bunun için kullanıcı gereksiz olan kayıtları kendisi seçip, tek bir sefer de silmeyi tercih eder. Bu kullanıcıya büyük kolaylık saglar. Normalde gridview nesnesinde kayıt listesinin yanında sil isimli bir buton koyar ve o satırdaki kaydı sildirirdik. Biz gridview nesnemizi biraz daha genisleterek kullanıcının kayıtların tümünü seçerek veya tek tek silecegi bir kayıt listesi sunacagız. Ilk olarak visual studio açalım ve asp.net projesi olusturalım. Ben dil olarak C# Seçtim. Daha sonra projemizde kullanacagımız nesnelerden bahsedelim. Ben projemde Northwind database'i içerisindeki Products tablosunu kullanacagım. Field olarak da Grid içerisin de ProductID, ProductName ve UnitPrice fieldlarını kullanacagım. Ek olarak grid içerisinde bir template field olusturup Header Template içerisine CheckAll isimli bir checkbox ve item template içerisinede deleteRec isimli bir checkbox kontrolü ekledim. Birde seçecegim kayıtları sildirmek için bir adet link buton ekledim. Form tasarımım asagıdaki gibi olustu. Formumuzun tasarımını tamamladıktan sonra simdi Tümünü seç ve tek tek seçim yapmak için gerekli olan javasctipt kodlarını yazalım. function check_uncheck(Val) { var ValChecked = Val.checked; var ValId = Val.id; var frm = document.forms[0]; for (i = 0; i < frm.length; i++) { if (this != null ) { if (ValId.indexOf('CheckAll' ) != - 1) { if (ValChecked) frm.elements[i].checked = true ; else frm.elements[i].checked = false ; } else if (ValId.indexOf('deleteRec' ) != - 1) { if (frm.elements[i].checked == false ) frm.elements[1].checked = false ; } } // if } // for } // function Javascript içerisine fonksiyonlarımızı yazdıktan sonra bunu gridview nesnesi üzerindeki checkboxlarda çagıralım. <asp : GridView ID ="dbGrid" runat ="server" AutoGenerateColumns ="False" CellPadding ="4" Font-Names ="Verdana" Font-Size ="X-Small" ForeColor ="#333333" GridLines ="None" Width ="448px"> <FooterStyle BackColor ="#5D7B9D" Font-Bold ="True" ForeColor ="White" /> <Columns> <asp:TemplateField> <HeaderTemplate> <asp:CheckBox ID ="CheckAll" runat ="server" onClick ="return check_uncheck(this);" /> --->>> tümünü Seç <HeaderTemplate> <İtemTemplate> <asp : Label ID ="ProductID" Visible ="false" Text =' ' runat ="server" /> <asp:CheckBox ID ="deleteRec" runat ="server" onClick ="return check_uncheck (this );" /> --->>> Tek Tek Seç <ItemTemplate> <FooterTemplate> <asp:TemplateField > <asp:BoundField DataField ="ProductID" HeaderText ="ProductID" /> <asp:BoundField DataField ="ProductName" HeaderText ="ProductName" /> <asp:BoundField DataField ="UnitPrice" HeaderText ="UnitPrice" /> </Columns > < RowStyle BackColor ="#F7F6F3" ForeColor ="#333333" /> < EditRowStyle BackColor ="#999999" /> < SelectedRowStyle BackColor ="#E2DED6" Font-Bold ="True" ForeColor ="#333333" /> < PagerStyle BackColor ="#284775" ForeColor ="White" HorizontalAlign ="Center" /> < HeaderStyle BackColor ="#5D7B9D" Font-Bold ="True" ForeColor ="White" HorizontalAlign ="Left" /> < AlternatingRowStyle BackColor ="White" ForeColor ="#284775" /> </asp : GridView > Bu yazdıklarımızı test edelim. Projemizi çalıstıralım ve tek tek kayıtları seçelim. Ardından tümünü seç butonuna tıklayıp düzgün çalısıp çalısmadıgını kontrol edelim. Kodumuz düzgün çalıstıgına göre artık sectigimiz kayıtları silelim. protected void LinkButton2_Click(object sender, EventArgs e) { string gvIDs = "" ; bool chkBox = false ; foreach (GridViewRow gv in dbGrid.Rows) { CheckBox deleteChkBxItem = (CheckBox )gv.FindControl("deleteRec" ); if (deleteChkBxItem.Checked) { chkBox = true ; gvIDs += (( Label )gv.FindControl("ProductID" )).Text.ToString() + "," ; } } SqlConnection cn = new SqlConnection ("Data Source=.; Initial Catalog=Northwind; uid=sa; pwd=" ); if (chkBox) { try { string deleteSQL = "DELETE from Products WHERE ProductID IN (" + gvIDs.Substring(0, gvIDs.LastIndexOf( "," )) + ")" ; SqlCommand cmd = new SqlCommand (deleteSQL, cn); cn.Open(); cmd.ExecuteNonQuery(); dbGrid.DataSource = DataTableGetirLan(); dbGrid.DataBind(); Response.Write( "Seçmis oldugunuz kayıtlar Silindi !" ); } catch (SqlException err) { Response.Write(err.Message.ToString()); } finally { cn.Close(); } } } Son olarak silme islemini de test edelim. Gördügümüz gibi tek sefer de seçmis oldugumuz kayıtlar silindi. Not: Eger sizde nortwind içerisindeki Products tablosunu kullanacaksanız diger tablolar ile arasında bulunan iliskileri kaldırın. Yoksa kayıtları silerken hata alacaksınız.Bu makalemizinde sonuna geldik. Umarım faydalı bir makale olmustur. Iyi günler ve basarılar dilerim.Sem GÖKSU MCP | MCAD.NET | MCTSÖrnek kodlar için mail adresimi kullanabilirsiniz.askisem@hotmail.com
08 Ara 2006 Kumsaati Ailesine Teşekkürlerimi Sunarım Kategori: Benden Etiketler: 4 Yorum 6 aydır çalısmakta oldugum Kumsaati Tasarım’dan ayrılmaya karar verdim. Çalısma arkadaslarımla birlikte bir çok basarılı projeye imza attık. Bu basarının bundan sonra da sürmesi tek temennimdir. Çalısma arkadaslarıma ve Kumsaati ailesine tesekkür eder bundan sonraki çalısma hayatlarında basarılar dilerim.
08 Ara 2006 15 Aralık 1983 - 15 Aralık 2006 = Yaş 24 Kategori: Benden Etiketler: 18 Yorum DOGUM GÜNÜM KUTLU OLSUN
07 Ara 2006 Renk Uyum Cetveli Kategori: Yazılım Etiketler: ASP.NETYazılım 10 Yorum Özellikle grafikerler için uyumlu renkleri bir araya getirmek oldukça zor ama önemli bir istir. Ama renk uyumu sadece grafikerlere has degildir. Biz programcılarda hazırladıgımız arayüzlerin kullanıcıya daha güzel görünmesi için uyumlu renkleri kullanmaya dikkat ederiz. Ama zorlandıgımız zamanlarda olur tabi. Iste bu zorlandıgımız zamanlarda isimize yarayacak bir uygulama "Renk uyum cetveli". Renk uyum cetveli en iyi uyan 6 rengi size gösteriyor. Siz tonları degistirerek farklı renkler yaratabiliyorsunuz. Renk uyum cetvelini denemek için tıklayınız .
29 Kas 2006 SQL SERVER KONFİGÜRASYON FONKSİYONLARI Kategori: Yazılım Etiketler: SQL Server 2 Yorum @@CONNECTIONS :SQL Server'ın en son baslatılmasından sonra olusan baglantı sayısını verir. @@LANGUAGE : Kullanılan dili verir. @@MAX_CONNECTIONS : Aynı anda yapılabilecek max kullanıcı baglantılarının sayısını verir. @@SPID : Mevcut kullacı prosesinin numarasını verir. @@SERVERNAME : Yerel server ın adını verir. @@VERSION : SQL Server'ın versiyon numarasını verir. Örnek: SELECT @@CONNECTIONS AS BAGLANTI_SAYISI