Home Contact RSS

ASP.NET 2.0 - DetailsView ve GridView - 1, 2, 3

DetailsView; veritabanı, XML dosyası ve benzeri şekilde içerisinde bilgi saklayabileceğimiz herhangi bir kaynağın içerisinde tutulan bilgilerin; kayıt bazında gösterilmesi, düzenlenebilmesi, silinebilmesi ve gerektiğinde ilgili veritabanlarına yeni kayıtların eklenebilmesi sırasında kullanılabilecek bir kontroldür.Yazılım geliştiricilere formların tasarlanması sürecinde sağladığı kolaylıkların yanısıra, çift yönlü binding yapabilmesi de (bu konu örnek dahilinde anlatılacaktır) en büyük avantajları arasındadır.

“DetailsViewMode” tipindeki özelliği sayesinde görüntüleme, ekleme ya da silme modlarından hangisinde olduğu değeri alınabilir ve ya “ChangeMode” isimli methodu yardımı ile kolayca bu durumlar arasında geçiş yapabilir.

Makalenin kapsadığı konular:

  1. DetailsView kontrolü
  2. DetailsView kontrolünün GridView kontrolüyle paralel şekilde kullanımı ile ilgili örnek

Makale bölümleri:

  1. Bölüm 1
  2. Bölüm 2
  3. Bölüm 3

serseri said,

June 24, 2006 @ 23:08

gridview ile verileri ızgaralara döşemek çok kolay ama binlerce verinin içinden istediğinizi bulmak çok zor. sayfaya bir textbox ve button koyarak aradığımız veriyi gridview’de nasıl gösterebiliriz. ben çok denedim ama beceremedim. bu konuda yardımcı olacağınıza inanıyorum

Coskun SUNALI said,

June 25, 2006 @ 00:58

Selam,

Bunun icin DataTable’in “DefaultView” özelliğini kullanarak DataView tipindeki nesneye erişebilir ve sonrasında da bu nesnenin “RowFilter” özelliğini kullanarak da TextBox’taki değere göre filtreleme yapabilirsiniz. Sanıyorum bu işinizi de görür. RowFilter özelliğinin kullanımı hakkında MSDN’de örnekler de mevcut.

Teşekkürler.

Yasir KARADENİZ said,

July 18, 2006 @ 15:35

Master Detail ile ilgili 3 makaleden çok şey öğrendim ama GridView ile DetailsView arasındaki bağın nasıl kurulduğunu göremedim. Onu
http://msconline.maconstate.edu/Tutorials/ASPNET2/ASPNET07/aspnet07-09.aspx
adresinde buldum.
Bir sorum olacak. Bu bileşenleri AJAX ile entegre edebiliyor muyuz yoksa AJAX ile entegre edilmiş bileşen mı kullanmak zorundayız refresh i engellemek için?

Coskun SUNALI said,

July 18, 2006 @ 17:43

Yasir Bey,

Bu konuda hicbir denemem olmadi. Acaba siz denediniz ve bir sonuc mu alamadiniz, yoksa siz de mi denemediniz?

Ben ilk fırsatta deneyip, sonucu yine burada yazacağım.

İlginiz için teşekkürler.

Murat Tüfekçi said,

October 8, 2006 @ 21:57

Biraz geç bir cevap olacak ama gridview i ajax la kullandığım bir örneğim vardi paylaşmak isterim. Aynı mantığı kullanarak sanırım istediğiniz seyi elde edebilirsiniz.
GridView gd = new GridView();
System.Text.StringBuilder sb = new System.Text.StringBuilder();
System.IO.StringWriter sw = new System.IO.StringWriter(sb);
System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter(sw);
gd.RenderControl(htw);
return sb.ToString();

Bu kodu geri dönüş değeri string olan bir ajax method da kullanıp burdan donen Html kodunu da div span gidi objelerin innerHTML özelline atarsaniz olacaktir. Sayfalamada probleminiz olabilir onu kendiniz elle direk yazarak yapabilirsiniz. Arzu ederseniz size ajax method u tamamen yollayabilirim.

İyi calışmalar.

Coskun SUNALI said,

October 8, 2006 @ 23:21

Selam,

Ek olarak bir de UpdatePanel controlünü kullarak da, hertürlü ASP.NET kontrolünü AJAX uyumlu olarak kullanabilirsiniz.

Bu konuda da yardıma ihtiyacınız olursa çekinmeden söyleyin lütfen.

Murat Bey, değerli açıklamanız için teşekkür ederim.

Emil KHAMITOV said,

May 23, 2007 @ 00:14

GridView kontrolunu bir veritabanı ile bağladım, ama kullanıcı bu GridView’den bir record silmek istediği zaman bu record veritabanındaki başka bir tablodan referans gösteriliyorsa, kullanıcıya pis bir hata ekranı geliyor. Yani record silinemez olduğu zaman ve kullanıcı silmek istediği zaman kod olarak bunu nasıl handle edebiliriz?
teşekkürler

Coskun SUNALI said,

May 23, 2007 @ 10:22

Sayın Khamitov,

GridView’ın RowDeleting event’ini kullanarak, GridView’ın “Delete” state’ine geçmesinden bir önceki adımda istediğiniz işlemleri yapabilirsiniz. Gerekli kontrollerden sonra (kayıt silinebilir mi, yetki var mı, build-in kayıt mı, vs.) GridViewDeleteEventArgs tipindeki “e” objesinin Cancel property’sini “true” yaparsanız, GridView “Delete” state’ine geçmez.İyi çalışmalar.

Mehmet Aydoğan said,

July 21, 2007 @ 15:56

serseri arkadaşa;

buton click e şu kodu yaz

sub butonclick()
Dim strConn As String = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & Server.MapPath(”haber2005.mdb”) & “;”
Dim MyConn As New Data.OleDb.OleDbConnection(strConn)
Dim ds As Data.DataSet = New Data.DataSet()
Dim MySQL As String = “Select * from kitapkayit Where dn Like ‘” & TextBox1.Text & “‘ ”
Dim Cmd As New Data.OleDb.OleDbDataAdapter(MySQL, MyConn)
Cmd.Fill(ds, “kitapkayit”)
GridView1.DataSource = ds.Tables(”kitapkayit”).DefaultView
GridView1.DataBind()
If (ds.Tables(”kitapkayit”).DefaultView.Count > 0) Then
Label1.Text = ds.Tables(”kitapkayit”).DefaultView.Count & “Kayıt Bulundu”
Else
Label1.Text = “Kayıt Bulunamadı”
End If
end sub

sonrada gridviewi Coşkun beyin dediği gibi bağla datasource ve daha sonra html kod kısmından

Ali DEMİR said,

August 29, 2007 @ 12:56

Detailsview veya gridview farketmez
sayfada sorgulamak istediğiniz bilgi session oluşturarak
arama text butonuna baglarsınız ve
grid-dataview WHERE bölümünde Control = session diyerek eklediğiniz sessionu sorgu sonucu size filtrelenmiş bilgi DATA veya GRİD view ile gelir!

Kodlarını isterseniz veya çalışan biörneğinide yollayabilirim….

RSS feed for comments on this post · TrackBack URI

Leave a Comment