Son Haberler
Anasayfa / Yazılım / ASP.NET / DataList Kontrolü ile Veri Güncelleme, Veri Listeleme – 1

DataList Kontrolü ile Veri Güncelleme, Veri Listeleme – 1

DataList veya Repeater kontrolleri kullanılırken karşılaşılabilecek problemlerden biri bu kontrollerin içinde yer alan şablonlarda eğer bir web form kontrolü kullanılıyor ise buna erişimin olmamasıdır. Bu durumu şu şekilde örneklersem, örneğin bir DataList kontrolü içinde ItemTemplate şablonu içinde bir buton kontrolü olduğunu varsayalım.


    Calisan ID : <%#Eval("CalisanID") %>
    
    
    

Üstteki gibi bir yapıda buton kontrolümüze doğrudan erişebilmemiz mümkün değildir. Yani bu butona Code Behind tarafında BtnSec.enabled = false gibi bir şekilde ulaşabilme imkanımız yoktur, böyle bir durumda hata olacaktır. Peki bir şablon içindeki kontrollere doğrudan erişim imkanım yok ise ben bu şablon içinde yer alan verilere nasıl ulaşabilir, bunları nasıl düzenleyebilirim? Akla ilk gelecek soru bu.. Hem bunu cevaplamak adına hemde DataList kontrolü ile veri listeleme ve güncelleme yapabilmek için şimdi bir örnek yapalım. Örnek olarak GursoyLtd adındaki veritabanımı kullanıyorum, bunu oluşturmak için veritabanını manuel olarak oluşturun ve aşağıdaki scripti kullanarak da tabloları oluşturup iki tabloyo da rastgele uygun şekilde verileri girin. Çünkü listeleme esnasında bir kaç veri olsun ki, DataList kontrolümüz bize veri gösterebilsin.

USE [GursoyLtd]
GO
/****** Object:  Table [dbo].[Bolumler]    Script Date: 03/25/2012 11:11:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Bolumler](
	[DepartmanID] [int] IDENTITY(1,1) NOT NULL,
	[Departman] [nvarchar](20) NOT NULL,
 CONSTRAINT [PK_Bolumler] PRIMARY KEY CLUSTERED 
(
	[DepartmanID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[Calisanlar]    Script Date: 03/25/2012 11:11:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Calisanlar](
	[CalisanID] [int] IDENTITY(1,1) NOT NULL,
	[DepartmanID] [int] NOT NULL,
	[Ad] [nvarchar](20) NOT NULL,
	[Soyad] [nvarchar](20) NOT NULL,
	[Yas] [nvarchar](2) NOT NULL,
	[Sehir] [nvarchar](20) NOT NULL,
	[Telefon] [nvarchar](20) NOT NULL,
	[Mobil] [nvarchar](20) NOT NULL,
 CONSTRAINT [PK_Calisanlar] PRIMARY KEY CLUSTERED 
(
	[CalisanID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  ForeignKey [FK_Calisanlar_Bolumler]    Script Date: 03/25/2012 11:11:48 ******/
ALTER TABLE [dbo].[Calisanlar]  WITH CHECK ADD  CONSTRAINT [FK_Calisanlar_Bolumler] FOREIGN KEY([DepartmanID])
REFERENCES [dbo].[Bolumler] ([DepartmanID])
GO
ALTER TABLE [dbo].[Calisanlar] CHECK CONSTRAINT [FK_Calisanlar_Bolumler]
GO

Şimdi adım adım uygulamamızda yapılanları kod işlemi ile vermek istiyorum. Öncelikle Visual Studio Boş bir WEB Projemi oluşturduktan sonra web.config dosyasını açıyorum. Burada Configuration ayarım yani SqlBaglanti komut satırım olacak..

web.config :







    
        
    
  
    
  

Projeme sağ tıklayıp yeni bir form Ekliyorum, ben adını DataListOrnek verdim :

Öncelikle senaryomuzu anlatayım. Öncelikle sayfam ilk yüklendiğinde DataList kontrolü Calisanlar tablosundan sadece Departman, Ad ve Soyad bigisini göstersin. Daha sonra altta yer alan bir linkbutton vasıtası ile bu kontrole tıklandığında çalışan kişiye ait olan Çalışan ID verisi görüntülensin. Ayrıca bu linkbuttonun hemen altında ya da yanında bir linkbutton daha olsun ve bu linkbuttonda kişinin bilgilerini güncelleme amacı ile kullanılsın. Yani bu linkbuttona tıkladığımda aynı web formu içinde güncelleme imkanım olabilsin. Çalışan ID bilgisi güncellenmeyecek tabii ki.. Güncelleme şablonum açıldığında güncelleme işlemi yapabileyim ya da yanlışlıkla buraya geldi isem bu güncelleme işlemini yapmadan da geri dönebileyim. Tüm bunların hepsi ama hepsi DataListOrnek web formunda olacak yani sadece tek bir web sayfasında gerçekleşecek. Umarım senaryoyu kafanızda canlandırabildim. Adım adım giderek zaten çok daha rahat bir şekilde her şey daha net bir şekilde anlaşılacak.

Devamı aşağıdaki yazıda :

DataList Kontrolü ile Veri Güncelleme, Veri Listeleme – 2

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir