Yazar |
|
omerozdemir
istanbul
Kayıt: 09.01.2006 |
|
Form1'deki datagridde bulunan kayıtlardan birine çift tıkladığımızda açılan 2. formda(güncelleme formu) bu seçtiğimiz kayıt bilgilerini textbox,checkbox...'lar içine dolduracak(binding) ve o kayıt üzerinde değişiklik yapabileceğiz.. Güncelleme formundaki textleri doldurma işlemini en optimum nasıl yapabiliriz(public değişken kullanmadan mesela)?
www.mavimisket.org
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
| Güncelleme formundaki textleri doldurma işlemini en optimum nasıl yapabiliriz(public değişken kullanmadan mesela)?
|
Selam Ömer ,
Birincisi Formların her biri farklı classlar olduğundan içerisindeki değişkenleri public yapmaz isen diğer formdan erişemezsin. İllada değerleri public yapmıyacağım diyorsan Form2 de public bir fonksiyon yazarsın Form1 den de bu fonksiyona parametreleri beslersin.
1. yöntem benim genelde kullandığım (Doğru bir yöntemmidir bilemiyorum) Form2nin constructoruna Form1 i parametre olarak yollamak ve Form1 de Erişmek istediğim bütün değişkenlerimi public olarak yetkilendirmek.
ör:
Form2 Constructor.
private Form1 caller; // Form2 içerisinde her noktada Form1'e ve doğal olarak onun alt //elemanlarına erişebilmek için
public Form2(Form1 cagiran)
{
caller = cagiran;
}
public void islemYapanBiFonksiyon()
{
caller.datagrid1..... ; // gibi kullanabilirsin.
}
Form1 de yapacağın.
public DataGrid datagrid1; // Bu nesne .Net tarafından private olarak otomatik oluşturulmuş oluyor bunu public yapacaksın.
private void form2ac(){
Form2 frm = new Form2(this);
frm.Show();
}
2. yöntem daha Güvenlikçi yaklaşırsak. Diyelim ki Form1 deki verilerin diğer formlar tarafından erişilmesi güvenlik sızıntısı yapabilir diye Form1 deki değişkenleri public yapmak istemeyebilirsin . Bu durumda Form2 de Form1 den istediğin parametreleri çekecek public bir fonksiyon yazıp bunu Form1 de çağırsan da iyi olur.
Form2 deki fonksiyon
public void Form1denVerilericek(DataGrid dtg1)
{
// işlemlerin.
}
Form1 de .
private void Form2ac()
{
Form2 frm = new Form2();
frm.Form1denVerilericek(DataGrid1);
}
Başka çetrefelli yöntemler de bulabilirsin. Ama bunlar istediğini karşılar sanırım.
|
|
Yazar |
|
omerozdemir
istanbul
Kayıt: 09.01.2006 |
|
Teşekkürler Özgür...Çok makbule geçti..
www.mavimisket.org
|
|
Yazar |
|
miracc
Houston, TX
Kayıt: 07.01.2006 |
|
Benim de benzer bir sorunum var. ayri baslik acmayayim dedim.
Simdi soyleki: A.htm sayfamizin icinde bir tane IFRAME alani var ve burada B.htm sayfasi goruntuleniyo. Bu B.htm sayfasindaki bir linke tiklayinca yeni bir C.htm sayfasi external olarak aciliyor ve bu sayfada resimler listeleniyor.
Benim yapmak istedigim C.htm sayfasindaki resimlerden herbirine tikladigimizda tiklanan resmin adres bilgisi (images/abcdef.jpg) B.htm sayfasindaki textbox'a yazdirilsin.
Ben php ile kodluyorum o yuzden asp.net sorunumu cozmuyor. Javascript ile nasil yapabilirim bunu???
blog.miracc.com
|
|
Yazar |
|
tarikkranda
Kayıt: 07.01.2006 |
|
Mirac bahsettigin olayı, javascripttl yapmak icin pencere C.HTm de secme vs. islemini yaptıgında pencereyi kaparken mesela window.returnvalue diye bi sey var ona atama yapıosun, ve o return value yu B.HTM de yakalıosun. B.HTM deki link acılırken txtDeger.TExt = window.open("C.HTM") yazıosun ya burada C.HTM i kapayınca ve kapamadan icindeki window.returnvalue ya image in yolunu koyarsan yukarıda yazgıdım B.HTML in icinde txtDeger.TExt e o deger atanmıs olur. Su an OZgurdeyim kendi kodlarıma bakamıyorum ama OZgur sana bir ornek kod gonderir, kendi makinesinden, soylerim simdi. Gorusuruz..
|
|
Yazar |
|
miracc
Houston, TX
Kayıt: 07.01.2006 |
|
tarikkranda yazdi | Mirac bahsettigin olayı, javascripttl yapmak icin pencere C.HTm de secme vs. islemini yaptıgında pencereyi kaparken mesela window.returnvalue diye bi sey var ona atama yapıosun, ve o return value yu B.HTM de yakalıosun. B.HTM deki link acılırken txtDeger.TExt = window.open("C.HTM") yazıosun ya burada C.HTM i kapayınca ve kapamadan icindeki window.returnvalue ya image in yolunu koyarsan yukarıda yazgıdım B.HTML in icinde txtDeger.TExt e o deger atanmıs olur. Su an OZgurdeyim kendi kodlarıma bakamıyorum ama OZgur sana bir ornek kod gonderir, kendi makinesinden, soylerim simdi. Gorusuruz.. |
Saol abi. dedigini anladim ama javascript cok ii bilmedigim icin ornek kod olursa cok makbule gecer.
Ben ugrasayim biraz.
Tesekkurler.
blog.miracc.com
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
http://javascript.internet.com/forms/pass-textbox-frames.html
N/A
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
Selam Mirac geçte olsa sana buradan hayırlı olsun diyeyim.
Sorduğun soruya gelince ben showmodaldialog denilen bir javascriptle pencereleri açıp seçilen parametreyi geri döndürüyordum. (Bu javascript fonksiyonu sadece internet explorerda çalışıyor ne yazıkki.) Kendini açan sayfadaki elemanlara veri yollayan değişik javascript yöntemleri varmış ama ben incelemedim.
Senin problemin anladığım kadarıyla frameler arası iletişim. Orhanın attığı link çözüm olur sanırım. Frameleri hiç kullanmadığımdan bir şey diyemiyorum.
Cevabı kendin bulduysan buraya yaz da biz de öğrenelim. Bulamazsan bi çözüm bulmaya çalışırız
|
|
Yazar |
|
miracc
Houston, TX
Kayıt: 07.01.2006 |
|
cantur yazdi | Selam Mirac geçte olsa sana buradan hayırlı olsun diyeyim.
Sorduğun soruya gelince ben showmodaldialog denilen bir javascriptle pencereleri açıp seçilen parametreyi geri döndürüyordum. (Bu javascript fonksiyonu sadece internet explorerda çalışıyor ne yazıkki.) Kendini açan sayfadaki elemanlara veri yollayan değişik javascript yöntemleri varmış ama ben incelemedim.
Senin problemin anladığım kadarıyla frameler arası iletişim. Orhanın attığı link çözüm olur sanırım. Frameleri hiç kullanmadığımdan bir şey diyemiyorum.
Cevabı kendin bulduysan buraya yaz da biz de öğrenelim. Bulamazsan bi çözüm bulmaya çalışırız |
Tesekkur ederim Özgür.
Abi sorunu tam olarak cozemedim. Simdi benim sayfa yapisi biraz karmasik oldu. Acilan yeni pencereden alacagi degeri ana sayfamizdaki iframe in icindeki baska bi sayfaya gonderecek.
Ben de hic ugrasmadim. Soyle yaptim: External C.htm sayfasinda resimlere tiklayinca adres bilgisini ayni sayfadaki bir textbox a yaziyor. ben de ordan ctrl+c ile kopyalayip goturup iframe icindeki sayfadanin textarea alanina ctrl+v ile yapistiriyorum manuel olarak.
Orhan sen de sagol abi. Bu javascript.internet.com da baya guzel ornekler var. makbule gecti.
blog.miracc.com
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | |