Yazar |
|
halil
Kayıt: 01.01.2006 |
|
herkese merhaba ;
yapmak istediğim şu ,
veritabanımda sonsuz sayıda kategori ve bunlara bağlı alt kategoriler var , ya da bu işlevi sağlamasını istiyorum :) , db tasarımını yaptım
Elimdeki db içeriği de şu şekilde ; daha açıklayıcı olması açısından
ÖSS Hazırlık
Konu Anlatımları
Türkçe
Mat.
Geo.
Açılar
Üçgenler
Çıkmış Sorular
Online Denemeler
XXYXYXYYXYX ...
OKS Hazırlık
YDS Hazırlık
LES Hazırlık
Her seviyedeki kategoriler için DropDownList kullanıyorum Mesela 1.ddlist te ;
ÖSS Hazırlık
OKS Hazırlık
YDS Hazırlık
LES Hazırlık var ,
ÖSS Hazırlık seçildimi ; Konu Anlatımları , Online Denemeler , XYZYXYXYXY , 2.ddliste girişi yapılıyor .
böyle seviye seviye devam ediyor işlem .
soruna gelirsek ;
seçilen kategori seviyesine ekleme, düzenleme , silme işlemleri yapan kontrol panelini yazıyorum şu anda ,
sonsuz kategori , ddlist sayısının sürekli değişebilmesini gerektireceğinden codebehind yazmak istiyorum controlleri ,
sabit sayıdaki controle codebehind eventhandler eklenebiliyor da değişken sayıdaki controllere nasıl eklenir nasl yapılır bilmiyorum ,
şu iş nasıl yapılır bilen var mı :) , elinde kod örneği olan varsa paylaşırsa sevinirim
ya da çözüm için başka tasarım önerileri de alabilirim , bi tree view anca paklar beni
....
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
selam halil istediğin bumu bilmiyorum ama codebhind da sana bi ddlist oluşturup buna bir event handler bağlama örneği yaptım. ddlisti kaybolmasın diye Application değişkeni olarak sakladım (Bu kötü bir yaklaşım sakın kullanma kodun patlar çok insan girince) belki bunsuz da çalışır bilemiyorum.
al bunu bir aspx sayfana kopyala sınıf ismini değiştirmeyi unutma :)
Bu işini görür mü bilmiyoorum ama anlattığın olay tam manası ile ağaç isteyen bir iş. Böyle işlemleri dinamik yaplmaya kalkmaktansa veriler çok fazla değilse tamamını kullanıcıya kapanabilir ağaç şeklinde sunmak daha basit oluyor. (javascript destekli v.s.)
Gelelim koddaki önemli noktaya (öğrenmek isteyen diğer arkadaşlar için ) Yaptığım olay DropDownList i dinamik oluşturmak.
DropDownList ddlist = new DropDownList();
çeşitli özellliklerini ayarlayıp bir eventHandler bağlamak
ddlist.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
ve son olarak dinamik olduğundan sayfa postback olduğunda DropDownListime tekrar erişebilmek için onu Server Raminde depolamak.
Bu kod sağlıklı değil (Projede kullanılacak ise optimize edilmeli veya başka çare aramalısın)
Kolay gele
Özgür Can TURNA
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebApplication2
{
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class frm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.HtmlControls.HtmlForm Form1;
public DropDownList[] ddlistler;
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("kod");
dt.Columns.Add("kod_adi");
dt.Columns.Add("ebeveyn"); // gibi
DataRow dtRow;
for(int i = 0 ; i <10 ; i++)
{
dtRow = dt.NewRow();
dtRow[0] = i;
dtRow[1] = i;
dt.Rows.Add(dtRow);
}
ddlistler = new DropDownList[30];
Application.Add("listeler",ddlistler);
DropDownList ddlist = new DropDownList();
ddlist.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
// ddlist.DataBinding += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
ddlist.DataTextField = "kod_adi";
ddlist.DataValueField = "kod";
ddlist.AutoPostBack = true;
ddlistler[0] = ddlist;
ddlist.DataSource = dt;
ddlist.ID = "dropdown";
ddlist.DataBind();
Form1.Controls.Add(ddlist);
}
else
{
DropDownList ddlis;
ddlistler = (DropDownList[])Application["listeler"];
ddlis = ddlistler[0];
Form1.Controls.Add(ddlis);
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
RegisterStartupScript("halil","<script>alert('Merhaba');</script>");
((DropDownList)sender).ForeColor = Color.Blue;
}
}
}
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
AJAX laman lazım . sonuçta olay bir tree.
http://www.irian.at/myfaces/tree2NiceWrap.jsf
N/A
|
|
Yazar |
|
halil
Kayıt: 01.01.2006 |
|
özgür kod için sağol zaman ayırmışsın , optimize etmeye çalışıcam , ajax ~ tree view arası bişey uydurmaya çalışıcam artık tarıkta da tree örneği varmış yollasın ona da bakıcam , bu kodu optimize edersem buraya yollarım millet faydalansın ...
orhanbaba sana da tenk yu
....
|
|
Yazar |
|
safter
Kayıt: 18.04.2006 |
|
selamlar ben c# kursuna katılan bir ögrenci olarak bir daha ki dersin ne zaman yapılacagı hakkında bilgi edinme özgürlügüm oldugunu düşünüyorum bu özgürlügü kimse elimden alama:P şaka bir yana p.tesi yapacakmısın tarık abi şu dersi ve nerelere çalışarak gelelim haydii başşş başşşş
q
|
|
Yazar |
|
tarikkranda
Kayıt: 07.01.2006 |
|
safter yazdi | selamlar ben c# kursuna katılan bir ögrenci olarak bir daha ki dersin ne zaman yapılacagı hakkında bilgi edinme özgürlügüm oldugunu düşünüyorum bu özgürlügü kimse elimden alama:P şaka bir yana p.tesi yapacakmısın tarık abi şu dersi ve nerelere çalışarak gelelim haydii başşş başşşş |
Ders olacak bu Pazartesi (24.04.2006)
Bahsi gecen kitaptaki unite 1-2-3 u mutlaka calisin tekrar edin cunku gecen hafta isledik, bu haftada 4-5-6 ve hatta zaman kalırsa 7. uniteyi islemeyi planliyoruz. Bu hafta daha fazla ornek kod yazarak hatta yeterli zamanimiz olursa sizlerinde yazmasi icin bekleyerek tartisarak bir ders gecirmeyi planliyorum. Onun haricinde dersin sonunda kariyer planlariniz ile alakali kisa bir soyleside yapabiliriz.Dersin saatini buradan duyururum sizlere takipte kalin:)
NOT: Bu arada Halil, sana javascript agaci geldi mi eline ulasti mi? Ben DB den kayitlari donduruyordum, ozgurde javascript agacindaki uygun formata donusturuyordu sana gondermis olmasi lazim javascript agacini. O aagac burada bahsettigin isi rahatlıkla çözecektir.Kolay gelsin...
|
|
Yazar |
|
halil
Kayıt: 01.01.2006 |
|
tarikkranda yazdi |
NOT: Bu arada Halil, sana javascript agaci geldi mi eline ulasti mi? Ben DB den kayitlari donduruyordum, ozgurde javascript agacindaki uygun formata donusturuyordu sana gondermis olmasi lazim javascript agacini. O aagac burada bahsettigin isi rahatlıkla çözecektir.Kolay gelsin... |
gelmedi :) , javascriptsiz bi şekilde yaptım , ama db doldukça performans bakımından yetersiz kalabilir , msn adresime atabilirsen sevinirim , sağol
....
|
|
Yazar |
|
safter
Kayıt: 18.04.2006 |
|
teşekkürler tarık abi çalışıyoruz valla yaw sen anlattın ya bu imagene cup işini kafam o günden beri orda yaw ama bir yandanda ben kimmm imagene cup kim demiyor degilim gerçi birinci sınıfım daha ama....
q
|
|
Yazar |
|
tarikkranda
Kayıt: 07.01.2006 |
|
safter yazdi | teşekkürler tarık abi çalışıyoruz valla yaw sen anlattın ya bu imagene cup işini kafam o günden beri orda yaw ama bir yandanda ben kimmm imagene cup kim demiyor degilim gerçi birinci sınıfım daha ama.... |
Daha yolun cok basindasin, elinden geleni yapmaya cabalarsan o kadar cok yol alirsin ki geri donup baktiginda sen bile inanamassin. Zaten bizim en buyuk problemimiz ben kim orasi kim demek. Oraya giden hic kimse anasinin karninda ogrenmiyor o teknolojileri, calisarak ogreniyor, hivc bir basarida tesaduf olmadigina gore, gerisi calismak. Ben simdi birinci sinifta olsaydım, garantisini verebilirsim imagine cup yarısmasının ama gecti bizden, elimizden geldigince sizleri yonlendirmeye calisiyoruz iste:) İcinizden birkac tanesini bile is guc sahibi yapabilirsek ne mutlu bize, ileride iyi anarsiniz bizi:))
|
|
Yazar |
|
revenge
Kayıt: 16.04.2008 |
|
halil selam senin yaptığın o projeyi benimle paylaşırmısın.
|
|
Yazar |
|
revenge
Kayıt: 16.04.2008 |
|
Her seviyedeki kategoriler için DropDownList kullanıyorum Mesela 1.ddlist te ;
ÖSS Hazırlık
OKS Hazırlık
YDS Hazırlık
LES Hazırlık var ,
ÖSS Hazırlık seçildimi ; Konu Anlatımları , Online Denemeler , XYZYXYXYXY , 2.ddliste girişi yapılıyor .
böyle seviye seviye devam ediyor işlem .
Su yaptıklarını paylasırmısın acil :S
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | |