Aktív témák

  • lao ce

    aktív tag

    válasz Alan #70 üzenetére

    valami ilyesmit csinaltam, leegyszerusitve:
    InitNode:
    if ParentNode = nil then
    begin
    ...DataSet_sub.SQL.Clear;
    ...DataSet_sub.SQL.Add(' select .-. where MYID=' +DataSet_root.'MYID');
    ...DataSet_sub.Open;
    ...if DataSet_sub.RecordCount > 0 then
    ...begin
    ......InitialStates := InitialStates + [ivsHasChildren, ivsExpanded];
    ...end
    ...end;
    ...globalChildCount := DataSet_sub.RecordCount;
    ...DataSet_sub.Close;
    end;
    azert itt, mert valamiert vegtelen ciklusba kerult, ha az InitChildren-ben queryt futtattam (lehet hogy en voltam bena, de az olasz srac is panaszkodott erre).
    a masik, hogy nem biztos hogy van children minden root node-hoz ugye. szoval akkor nem allithatom be az InitialStates -t maskent, csak ha tudom mar elore, hogy lesz-e gyereke.
    ezert gondoltam, hogy mar a root select (a rootnodehoz) kellene tartalmazza hogy melyik rekordnak hany gyereke van (count+group by), es itt, az InitNodeban egy selecttel rovidebb lenne a kod.

    most olvaslak tovabb...

Aktív témák