Pazartesi, Aralık 15, 2008

Aydın'dan Şirince'ye

Geçtiğimiz üç hafta boyunca İstanbul dışındaydım, bu üç haftanın ilk iki haftasında bir eğitim için Aydın'da ardından da bayram tatili için memleketim olan Denizli'deydim. Bu yazımda Aydın'da Adnan Menderes Üniversitesi Bilgi İşlem Dairesi Yazılım Ekibi'ne vermiş olduğum eğitim sürecinden bahsediyor olacağım.

Aydın Ege Bölgesinin inciri ve zeytini ile ünlü güzel küçük bir şehri. Eğitim ya da seminer nedeni ile olmasa da daha önce bir kaç defa gitmiş dafalarca da içinden geçmiştim Aydın'ın, her geçtiğimde Aydın'ın hemen hemen her yerinden görünen bir tepeye kurulu olan Adnan Menderes Üniversitesi'ne gitmek istemiştim ama bir türlü oraya yolum düşmemişti, ama bu sefer direkt oraya gidiyordum ve hem de iki haftalığına gidiyordum. Aydın'da son derece yağmurlu bir hava beni karşıladı, "bardaktan boşalırcasına yağmur" derler ya işte aynen öyle bir yağmur kalacağım yere zar zor gidebildim. Üniversite çalışanlarına eğitim vereceğim için doğal olarak Adnan Menderes Üniversitesi Konuk Evi'nde misafir edildim, Konuk Evi fazla gösterişli değildi ama daha önce kaldığım pek çok gösterişli ve bilindik otellerden daha fazla rahat ettiğimi söyleyebilirim bir de geceleri harika bir manzarası vardı aşağıda bu manzaradan bir kaç kare görüyorsunuz.

AydinMazara1

AydinMazara2

Aydın Bilgi İşlem Dairesi Yazılım EkibiSabah olduğunda Bilgi İşlem Daire'sinde çalışan arkadaşlarla tanışma ve gerçekleştirdikleri işleri görme fırsatım oldu. Pamukkale Üniversitesi'nde çalıştığım yıllarda hayallerini kurduğumuz ve şu anda da oradaki arkadaşlarımın geçekleştirmek için yoğun çaba harcadığı işlerin bir üniversitede gerçekleşmiş olduğunu görmek beni gerçekten mutlu etti. Bu işlerin arkasında Bilgi İşlem Dairesi Yazılım Şube Müdürü Yılmaz Suçeken'in inanılmaz emekleri söz konusu. Yılmaz Bey işleri oldukça güzel bir şekilde analiz edip ardında da bu analiz doğrultusunda projeleri geliştirmeyi yaşam biçimi haline getirmiş ve kurmuş olduğu ekipte de bu yaşam tarzı benimsenmiş durumda, işler önce analiz ediliyor ardından Visio'da diagramları çiziliyor sonra da program yazma işine başlanıyor, yani bizim MSF (Microsoft Solution Framework) seminerlerinde örnek olarak gösterebileceğimiz bir ekip Adnan Menderes Üniversitesi Yazılım Ekibi. Ekip işlerini oldukça iyi yapmakla beraber işyeri dışında da harika insanlar hemen hemen her akşam bir yerlere gidip sohbet etme fırsatımız oldu hatta bir gün tavla turnuvası bile gerçekleştirdik. Sonuç ne mi oldu? İşin burası gizemli kalsın bence...

Eğitimleri Adnan Menderes Üniversitesi Aydın Meslek Yüksekokulu'nun binasında gerçekleştirdik ve böylece oradaki öğretim görevlileri ile de tanışma fırsatım oldu. Adnan Menderes Üniversitesi çok büyük bir üniversite olmamasına rağmen yapılan işler gerçekten büyük ve beni etkiledi, Meslek Yüksekokulu'nda eğitimlerde kullanılan araç gereçler son teknoloji ve oldukça kaliteli, örneğin eğitim verdiğimiz salonda akıllı tahta vardı, ama biz onu kullanmadık yeni bir tane tahta yaptırdık o ayrı bir mesele... Eğitimlere Aydın Meslek Yüksekokulu'ndan Erkan Güler'de katıldı, Erkan Bey okulun en değerli öğretim üyelerinden biri ve iyi bir yazılımcı, şu anda Aydın Meslek Yüksekoku'nda kullanılan sınav sisteminin yazarı aynı zamanda kendisi. Okulda şöyle bir sınav sistemi var, öğrenciler her sınavda program tarafından belirtilien sınıfa ve program tarafından belirtilen yere oturmak zorunda ve var olan sorular da harmanlanıp farklı gruplar ortaya çıkartılabiliyor, nasıl sistem bir yerden tanıdık geliyor mu?

Bir üniversiteye kadar gidip eğitim verip seminer vermeden dönmek olmazdı ben de bu misyon çerçevesinde What is SharePoint? seminerimi bir de Adnan Menderes Üniversitesi'nde gerçekleştirdim. Bayram önü olması nedeni ile seminere sadece öğretim üyeleri katıldı resimlerin tamamını Facebook'ta oluşturduğum albüm üzerinden paylaştım, pek çoğu SharePoint'i ilk defa görüyordu ama buna rağmen sunum sonunda oldukça güzel sorular geldi ve şunu söyleyebilirim SharePoint akademisyenlerden tam puan aldı ve oldukça beyeni topladı.

Seminer1 Seminer2

Aydın'a kadar gitmişken Aydın'a yakın gezilip görülebilecek yerlere de uğrama fırsatım oldu bunlardan bir kaçı daha önce gittiğim bu sebeple fazla zaman kaybetmediğim Efes Harabeleri ve Meryem Ana Evi. Daha önce bu güzel ve sizlere de önerebileceğim yerleri gezme fırsatım olmuştu ama Denizli'ye geri dönünce aklıma Şirince adında bir köy olduğu ve Selçuk'un merkezine oldukça yakın olduğu gelmişti ve oldukça üzülmüştüm ama bu sefer bu fırsatı kaçırmadım ve Şirince'ye gittim. Şirince'ye giderken dağların arasından dar ve oldukça bozuk bir yoldan gidiliyor yol boyunca sağda solda zeytin toplayan köylüleri görme fırsatınız oluyor ve sofrada bazen aklımıza bile gelmeyen zeytin tanelerinin, toplanırken ne gibi zorluklarla karşılaşıldığını görüyorsunuz. Dağa biraz tırmandıktan sonra Şirince, adı gibi müthiş evleri ve şarap kokan sokakları ile karşınıza çıkıveriyor ve o anda oraya çıkarken bozuk ve dar yolda çektiğiniz çileyi unutuveriyorsunuz. Şirince'nin ana gelir kaynağı yöre üzüm ve meyvelerinden üretilen üzüm ve meyve şarapları hatta Türkiye çapında ün yapmış meyve şarapları da mevcut ve oldukça lezzetli olduğunu da buradan belirtmeliyim. Şirince'de hemen hemen herkes şarap satıyor ve neredeyse her evin altında bir mahzen var, mahzenlere girip istediğiniz şaraptan istediğiniz kadar tatma şansına sahipsiniz ama ben araba kullanmak zorunda olduğum için bu şansı değerlendiremedim ne yazık ki, Şirince'ye gitmeye karar verirseniz otobüs ya da arabanızı kullanacak başka biriyle gitmenizi tavsiye ederim. Şirince'nin bir diğer gelir kaynağı da Zeytin ve zeytin ürünleri, bunlardan biri de sabun, oldukça güzel saf ve hediyelik sabunlarda Şirince'den temin edilebiliyor. Lafı fazla uzatmadan sizleri Şirince fotoğrafları ile baş başa bırakayım...

S7300148
S7300153
S7300158
S7300177

Salı, Aralık 02, 2008

GridView'de DropDownList'ler ile Veri Güncelleme sorunu

Yaklaşık iki haftadır Aydın'da Adnan Menderes Üniversitesi Bilgi İşlem Dairesi Yazılım Geliştirme Ekibine Nesne tabanlı programlama eğitimi veriyorum, eğitimin içeriği tamamen üniversiteye özel olduğu için eğitimler süresince pek çok sorunu tartışma fırsatımız oluyor, sizlerle bu gün karşılaştığımız bir sorunu ve çözümünü paylaşmak istiyorum. GridView kontrolü ile Netron'da eğitimlerde kullanmış olduğumuz YazilimWorks isimli veritabanında yer alan Urun tablosundaki verileri görüntelemek ve güncellemek gibi bir hedefimiz vardı ancak her ürünün bağlı olduğu bir alt kategori ve bu alt kategorinin de bağlı olduğu bir kategori bulunmaktadır, özetle YazilimWorks'ün bahsedilen üç tablosunun diagramda görünümü aşağıdaki gibidir.Gerçekleştirmek istediğimiz işlem son derece basit; GridView görüntüleme modunda iken her şey labellarda görüntülenecek ancak herhangi bir satır edit moda geçtiğinde ürünün bağlı olduğu AltKategori ve diğer AltKategoriler DropDownList içerisinde görüntüleniyor olacak ancak ürünün dahil olduğu AltKategori DropDownList'te seçili olarak geliyor olacak, aynı şekilde seçili olan alt kategorinin bağlı olduğu Kategori de başka bir DropDownList'te görüntüleniyor olacak. Anlaşılacağı üzere işlem oldukça basit, ilk olarak GridView'i oluşturduk ardından TemplateField'lar ile istediğimiz işlemi yaptık ve ardından da SqlDataSource kontrolleri ile DropDownList'lere verileri getirip ikisi arasındaki gerekli entegrasyonu sağladık bundan sonra da Bind metodu ile DataBase'den gelen alanı direkt DropDownList'lerin SelectedValue özelliklerine bağladık. Sorunsuz olarak veriler geldi ve ardından sorunsuz olarak herhangi bir satır edit moda geçti ancak Kategori DropDownList'indeki değer değiştikten sonra AltKategori de yenilenmek istediği için ve seçili olan değerlerle Bind metodundan bağlanan değer uyuşmadığı için "Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control" şeklinde bir hata ile karşılaştık.
Sorunu şu şekilde çözdük; DataBase'den gelen verileri direkt Bind metodu ile DropDownList'lerin SelectedValue özelliklerine atamaktan vazgeçtik ve DropDownList'lerin yanına birer tane HiddenField attık, ardından da GridView'in RowEditing olayını ele aldığımız metotta aşağıdaki kodları yazıp DataBase'den ID'si gelen Kategori ve AltKategori'lerin DropDownList'lerde seçili olmasını sağladık.



CType(GridView1.Rows(e.NewEditIndex).Cells(5).FindControl("ddlKategoriID"), DropDownList).SelectedValue = CType(GridView1.Rows(e.NewEditIndex).Cells(5).FindControl("HfKategoriID"), HiddenField).Value

CType(GridView1.Rows(e.NewEditIndex).Cells(6).FindControl("ddlAltKategori"), DropDownList).DataBind()

CType(GridView1.Rows(e.NewEditIndex).Cells(6).FindControl("ddlAltKategori"), DropDownList).SelectedValue = CType(GridView1.Rows(e.NewEditIndex).Cells(6).FindControl("HfAltKategoriID"), HiddenField).Value


Kodlardan da anlaşılacağı üzere eğitimi VisualBasic.Net dili üzerinden anlatıyorum, kodlardan anlaşılacağı üzere ilk HiddenField'larda depolamış olduğumuz değerleri RowEditing olayında DropDownList'lere atıyoruz arada AltKategori DropDownList'imizin DataBind metodunu bir kez daha çalıştırdık çünkü kategoride varsayılan olarak en üstteki seçili olarak gelmekteydi ve buradaki değişim sonucunda ona bağlı olan AltKategoriler'de değişiyor olmalıdır, bunu sağladıktan sonra ise Kategori için yaptığımız işlemin aynısını bir de AltKategori için gerçekleştirdik ve uygulama sorunsuz olarak çalıştı...