Moin Moin!
Ich habe ein Thema erstellt, dass sehr viele Spalten besitzt, da jede Spalte ein Zeitschritt darstellt (Spalte1=1.1.2000/Spalte2=2.1.2000 etc.). Nun möchte ich per Button o.ä. einfach meine erstellte Legende auf die nächste Spalte/nächsten Zeitschritt anwenden ohne dass ich immer die Prozedur Legende laden für jede Spalte durchführen muss. Deshalb die Frage, ob jemand eine einfache Lösung weiss oder ob ich es selber programmieren muss.
Dirk
Ich habe ein Thema erstellt, dass sehr viele Spalten besitzt, da jede Spalte ein Zeitschritt darstellt (Spalte1=1.1.2000/Spalte2=2.1.2000 etc.). Nun möchte ich per Button o.ä. einfach meine erstellte Legende auf die nächste Spalte/nächsten Zeitschritt anwenden ohne dass ich immer die Prozedur Legende laden für jede Spalte durchführen muss. Deshalb die Frage, ob jemand eine einfache Lösung weiss oder ob ich es selber programmieren muss.
Dirk
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Maxilla am Mi., 10.05.2006 - 14:19
Permalinkdas Grundgerüst dazu (für gestufte oder Einzelwert-Legende ohne Normalisierung und so ziemlich ohne Fehlercheck) müsste ungefähr wie folgt aussehen, kannst du ja mal ausprobieren:
theView = av.GetActiveDoc
theThm = theView.GetActiveThemes.Get(0)
theLeg = theThm.GetLegend
theLegFldList = theLeg.GetFieldNames
if (theLegFldList.Count = 0) then return NIL end
theVTab = theThm.GetFTab
theFlds = theVTab.GetFields
theSelFlds = List.Make
for each fld in theFlds
theCFld = theVTab.FindField(theLegFldList.Get(0).AsString)
if (theCFld.GetType = fld.GetType) then
theSelFlds.Add(fld)
end
end
theNuLegFld = MsgBox.List(theSelFlds,"Neues Feld:","")
if (theNuLegFld = NIL) then return NIL end
theLeg.SetFieldNames({theNuLegFld})
theThm.UpdateLegend
Gespeichert von Ron am Mi., 10.05.2006 - 15:17
Permalinkich hab zwar nicht danach gesucht, bin aber froh dieses "Grundgerüst" gefunden zu haben. Funktioniert prima.
Vielen Dank!
Gruß Ron
Gespeichert von Dirk am Do., 11.05.2006 - 11:10
PermalinkDa kann ich nur zustimmen. Mal wieder danke an Maxilla!
Dirk