Calc: Umschalten von Listenansichten

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Calc: Umschalten von Listenansichten

Beitrag von TrueColor »

Calc: Umschalten von Listenansichten
====================================

Hallo ihrs,

ich habe eine Liste (Verlegeliste für Rohre), in der ich gerne die Möglichkeit hätte, zw. verschiedenen mehr oder weniger auführlichen Ansichten umschalten zu können. Dabei ist aber teilweise die Einhaltung der Reihenfolge wichtig. Ebenso sollte dies nach Möglichkeit innerhalb eines Tabellenblattes realisiert werden, da in einer Datei mehrere Blätter (pro Blatt eine Liste) enthalten sind. In der angehängten Datei ist mal eine Musterliste mit den 3 verschiedenen Ansichten, wie ich mir das vorstelle. Abhängig von der Ansicht werden Spalten aus- (z.B. ID, Pos.) und eingeblendet (Anzahl).

Wie sähe ein sinnvoller Ansatz aus? Zeilen und Spalten ein- und ausblenden bekomme ich hin. Aber wie könnte das mit der Anzahl in der komprimierten Ansicht realisiert werden?

Meine ziemlich nebulöse Vorstellung:
- i = 1
- Typ von Zeile mit Zeile darunter vergleichen
- wenn gleich, dann i = i + 1
- wenn ungleich, dann Zeile einfügen, relevante Daten übernehmen, Anz. = i

Das wäre aber sehr viel ein- und auszublenden, auch mit Screenlock wohl nicht sehr performant.

Gibt es bessere Ansätze?

Mir ist bewusst, dass sowas idealerweise als DB gelöst werden sollte. Das geht aber leider weit über meine und erst recht über deren Kenntnisse hinaus, die sonst noch damit arbeiten sollen.

Vielen Dank!
Dateianhänge
Listenansichten.ods
(14.44 KiB) 88-mal heruntergeladen
System:
LibO 6 + LibO 7
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: Calc: Umschalten von Listenansichten

Beitrag von Karolus »

Hallo

Was ist denn gegeben, Ausführlich oder Komprimiert ?
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Re: Calc: Umschalten von Listenansichten

Beitrag von TrueColor »

Karolus hat geschrieben:Was ist denn gegeben, Ausführlich oder Komprimiert ?
Ausführlich, das ist auch die Bearbeitungsanssicht.
System:
LibO 6 + LibO 7
TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Re: Calc: Umschalten von Listenansichten

Beitrag von TrueColor »

Hallo,

ich habe meinen Ansatz für die komprimierte Ansicht jetzt noch optimieren können (es werden keine Zeilen mehr eingefügt, weil sonst die Liste länger wird, stattdessen wird die anzahl in einer vorhandenen, scihtbar zu schlatenden Spalte eingetragen). Das funktioniert auch gut.

Jetzt stehe ich jedoch vor einem Problem, bei Wiederherstellen der ausführlichen Ansicht (ok, ich hab einen fkt. Workaround dafür). Ich habe für die Spalte "Anzahl" vom Anfang bis zum Ende der Liste eine (einspaltige) CellRange erstellt, um über diesen Bereich alle Zeilen wieder ein- und diese Spalte auszublenden. Das Zeileneinblenden fkt., beim Ausblenden der Spalte kommt ein Fehler.

Code: Alles auswählen

oCountColRange = oSheet.getCellRangeByPosition(nCountCol, nListRangeStartRow, nCountCol, nListRangeEndRow)
oCountColRange.Rows.isVisible = True
oCountColRange.Colums.isVisible = False '<-- Fehler "Eigenschaft oder Methode nicht gefunden: Colums"
Weshalb kann die Sichtbarkeit der Zeilen im Bereich geschaltet werden, die der Spalten erzeugt jedoch einen Fehler?

Danke!
Dateianhänge
Listenansichten.ods
(22.44 KiB) 90-mal heruntergeladen
System:
LibO 6 + LibO 7
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Calc: Umschalten von Listenansichten

Beitrag von Stephan »

Weshalb kann die Sichtbarkeit der Zeilen im Bereich geschaltet werden, die der Spalten erzeugt jedoch einen Fehler?
Weil Colums keine Columns sind.


Gruß
Stephan
TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Re: Calc: Umschalten von Listenansichten

Beitrag von TrueColor »

Oh, das ist aber eine fiese Falle! Danke dir!
System:
LibO 6 + LibO 7
TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Re: Calc: Umschalten von Listenansichten

Beitrag von TrueColor »

Hallo,

habe jetzt auch einen Code für die Zusammenfassung (eine Art Stückliste) hinbekommen, das Zusammenzählen funktioniert (wie ich das mit dem Output mache, muss ich mir noch überlegen, die MsgBox ist nur temporär).

Jedoch erscheint mir der Code irgendwie... naja... unrund. Kann man das eleganter lösen?
Edit: Mich stört halt irgendwie das GoTo.

Code: Alles auswählen

	'--- Listenbereich abarbeiten
	For i = nListRangeStartRow to nListRangeEndRow
		
		'--- Strings zum Vergleich in Variablen schreiben
		sPart = oSheet.getCellByPosition(nListRangeStartCol + 1, i).STRING 'Bauteil
		sType = oSheet.getCellByPosition(nListRangeStartCol + 2, i).STRING 'Typ
		sTypes = sPart & " " & sType
		
		'--- Vergleich mit den definierten Typen
		For j = 1 to 7
		
			If sTypes = aTypes(j) Then 
				aCounts(j) = aCounts(j) + 1
				GoTo Found
			End If
		
		Next j
		
		'--- "Sonstige" hochzählen, wenn keine Übereinstimmung mit den definierten Typen gefunden wurde
		aCounts(8) = aCounts(8) + 1
		
		Found:
		
	Next i
Danke!
Dateianhänge
Listenansichten.ods
(22.47 KiB) 91-mal heruntergeladen
System:
LibO 6 + LibO 7
Antworten