Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Nu ved jeg ikke så meget om dyreavl og stamtavler for sådanne, men din egen idé lyder da nærliggende. Hvilken orden er det du vil have dem ud i? Skal søskende komme i en bestemt rækkefølge og hvordan holder man styr på dem i det virkelige liv...?
Et bud på en datamodel for stamtavle kunne være (feltnavnene skal naturligvis gøre mere teknisk kompatible :-)):
dyr = id + parentid + navn + født dato + whatever!!
Så kan du i det mindste trække dem ud efter datoorden og få søskende listet i kronologisk orden.
Hvis du så også skal vide hvem der er parret med hvem, skal du nok bruge en tabel mere som danner relation mellem dyr.
avl = id + handyrid + hundyrid + dato
hvor handyrid og hundyrid peger på de respektive dyr som er avlet. Jeg mener denne relationstabel er nødvendig, da hvert dyr velsagtens kan parres med flere andre dyr...
I virkeligheden burde der vel være to parentid (morid og farid) i dyr-tabellen, da man vel gerne vil kende begge forældrene for et givet dyr... i så fald kunne man måske helt undlade avl-tabellen, da afkommet så afspejler, hvem der er avlet for at komme til dette dyr...? Altså bare én tabel:
dyr = id + handyrid + hundyrid + navn + født dato + whatever!!
Partial Class _Default Inherits System.Web.UI.Page
Dim constr As String = System.Configuration.ConfigurationManager.ConnectionStrings("CON").ToString()
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load PopulateTree() End Sub
Public Sub PopulateTree() Dim con As New SqlConnection(constr)
Dim cmd As New SqlCommand()
cmd.CommandText = "Select * from Tree"
cmd.Connection = con
Dim dtMenu As New DataTable()
Dim da As New SqlDataAdapter(cmd)
da.Fill(dtMenu)
Dim dv As New DataView(dtMenu)
dv.RowFilter = "ParentID=0"
Dim i As Integer
TreeView_Control.Nodes.Clear()
For i = 0 To dv.Count - 1
Dim node As New TreeNode()
node.Value = dv(i)("ID").ToString()
node.Text = dv(i)("Name").ToString()
TreeView_Control.Nodes.Add(node)
RecFillTree(dtMenu, node) Next End Sub
Public Sub RecFillTree(ByVal dtMenu As DataTable, ByVal ParentNode As TreeNode)
Dim dv As New DataView(dtMenu)
dv.RowFilter = "ParentID =" & ParentNode.Value
Dim i As Integer
If (dv.Count > 0) Then For i = 0 To dv.Count - 1
Dim node As New TreeNode()
node.Value = dv(i)("ID").ToString()
node.Text = dv(i)("Name").ToString()
ParentNode.ChildNodes.Add(node)
RecFillTree(dtMenu, node) Next
End If End Sub
Protected Sub TreeView_Control_SelectedNodeChanged1(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView_Control.SelectedNodeChanged LblTreeNode_Text.Text = TreeView_Control.SelectedNode.Text
LblTreeNode_Value.Text = TreeView_Control.SelectedNode.Value End Sub End Class
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.