merhaba arkadaşlar
treeviewde veritabanından listelenen alanlara bağlantı yapmak istiyorum
2 adet tablom var katagoriler ve kayıtlar şeklinde yapmak istediğim şey sık kullandığım siteleri ve delphi kodlarını ve öneli notlarımı katagoriler halinde arşivlemek yani bir nevi kodbank benzeri bir şey yapmak istiyorum nettede araştırdım ado için bazı örneklerle sadece katagorileri listeyebildim.
örnek
+Delphi /ana katagori
-Arayüz / alt kategori
-Form / alt kagori1
-Mdi / alt kategori2
+Film siteleri
-Hd filmler
-Diğer filmler
yani örnek olarak delphiye tıkladığımda arayüz form mdi alanlarına bağlı kayıtlar listelenecek forma tıkladığımda ise sadece formla ilgili kayıtlar listelenecek günler araştıyorum hiç bir türkçe kaynak ve örnek bulamadım hatta ingilizce bile bulamadım nedir bunun mantığı nasıl yapılır kafama takıldı master detail olmadan böyle birşey nasıl yapılabilir
Veri tabanı :sql lite
Kullandığım kodlar=
var
FrmMain: TFrmMain;
id:TStringList;
index:Integer;
implementation
{$R *.dfm}
function GetNode(Parent_id: String): TTreeNode;
var
i: Integer;
s1,s2: String;
begin
Result:=nil;
index:=-1;
for i:=0 to FrmMain.Tree.Items.Count-1 do
begin
s1:= id.Strings;
if s1 = Parent_id then
begin
Result:=FrmMain.Tree.Items.Item;
s2:= Result.Text;
index:=i;
Break;
end;
end;
end;
procedure TFrmMain.FormCreate(Sender: TObject);
var
NodeX: TTreeNode;
begin
if Tree.Items.Count > -0 then Tree.Items.Clear;
qrcategory.SQL.Clear;
qrcategory.SQL.Add('Select * From category Order By Parent_id');
qrcategory.Open;
if Not qrcategory.IsEmpty then
begin
qrcategory.First;
try
id:=TStringList.Create;
id.Clear;
while Not qrcategory.Eof do
begin
if qrcategory.FieldByName('Parent_id').IsNull then
begin
NodeX:=Tree.Items.AddChild(nil, Trim(qrcategory.FieldByName('name').AsString));
id.Add(Trim(qrcategory.FieldByName('id').AsString));
end
else
begin
NodeX:=Tree.Items.AddChild(GetNode(Trim(qrcategory.FieldByName('parent_id').AsString)),
Trim(qrcategory.FieldByName('name').AsString));
id.Insert(index + (NodeX.Index+1), Trim(qrcategory.FieldByName('id').AsString));
end;
qrcategory.Next;
end;
finally
id.Free;
end;
end
end;
end.
Treeviewde veritabanından listelenen alanlara nasıl bağlantı yapılabilir
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Treeviewde veritabanından listelenen alanlara nasıl bağlantı yapılabilir
Bulduğun kodları çözümlemek için yeterli altyapın oluşana kadar bir akış ile baştan ne yapmak istediğin üzerinden yürümelisin.
Güzelce yapmak istediğini sıralamışsın. Şimdi bunun için ihtiyaçlarını belirle.
- Kendine şu soruyu sor, hangi anahtarlara ihtiyacım var ?!
- KayıtNo : Her kayda ulaşabileceğin başat unsur.
- Tür, Kategori, Başlık ve son olarak İçerik lazım.
- TreeView ile Tur / Kategori / Başlık ağaç dalı oluşacak ve bu başlığa KayıtNo bindirilecek.
- Ne zaman kullanıcı başlığa ulaşırsa bindirilmiş KayıtNo'lu kayıt veritabanından okunarak ekrana yansıtılacak.
Şimdi akış hazır olduğuna göre veritabanını kurgulamaya başlayabilir, sonra da sonuçları TreeView'e aktarmak için çalışmaya başlayabilirsin.
Güzelce yapmak istediğini sıralamışsın. Şimdi bunun için ihtiyaçlarını belirle.
- Kendine şu soruyu sor, hangi anahtarlara ihtiyacım var ?!
- KayıtNo : Her kayda ulaşabileceğin başat unsur.
- Tür, Kategori, Başlık ve son olarak İçerik lazım.
- TreeView ile Tur / Kategori / Başlık ağaç dalı oluşacak ve bu başlığa KayıtNo bindirilecek.
- Ne zaman kullanıcı başlığa ulaşırsa bindirilmiş KayıtNo'lu kayıt veritabanından okunarak ekrana yansıtılacak.
Şimdi akış hazır olduğuna göre veritabanını kurgulamaya başlayabilir, sonra da sonuçları TreeView'e aktarmak için çalışmaya başlayabilirsin.
Re: Treeviewde veritabanından listelenen alanlara nasıl bağlantı yapılabilir
Teşekkürler hocam tavsiyelerin için buna benzer bir şeyi yıllar önce master detail tablo kullanarak ve dbtreeviw ile çok kolay bir şekilde
yapmıştım. ama burada gerçekten takıldım veri tabanını hazırladım herşey hazır ama mantığını kuramadım.
detay tablom
recno :
id:
catergory_id:
title;
keywords;
vs vs
katagori tablom
id
parent_id
name
Recno
Parent_id alanı -1 olanlar ana kategori
id alanı ise 1 den başlayarak gidiyor
Örnek:
Ana Katagori id :1 Parent_id : -1 Ana Katagori
Alt Kategori id :2 Parent_id : 1 Alt katagori ana katagoriye bağlı a bu bu şekilde devam ediyor
Kategori ve listeleme olayı bu şekilde tamam treeviewde listenen katagorilere kayıt no ları nasıl bindirebilirim yani arasındaki bağlantıyı nasıl
sağlayabilirim gerçekten aklıma birşey gelmiyor. özellikle bağlantı olayı çok kafamı karıştırıyor hadi diğerleri bir şekilde yapılır
yapmıştım. ama burada gerçekten takıldım veri tabanını hazırladım herşey hazır ama mantığını kuramadım.
detay tablom
recno :
id:
catergory_id:
title;
keywords;
vs vs
katagori tablom
id
parent_id
name
Recno
Parent_id alanı -1 olanlar ana kategori
id alanı ise 1 den başlayarak gidiyor
Örnek:
Ana Katagori id :1 Parent_id : -1 Ana Katagori
Alt Kategori id :2 Parent_id : 1 Alt katagori ana katagoriye bağlı a bu bu şekilde devam ediyor
Kategori ve listeleme olayı bu şekilde tamam treeviewde listenen katagorilere kayıt no ları nasıl bindirebilirim yani arasındaki bağlantıyı nasıl
sağlayabilirim gerçekten aklıma birşey gelmiyor. özellikle bağlantı olayı çok kafamı karıştırıyor hadi diğerleri bir şekilde yapılır