pozioma tabela w oknie dialogowym

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
AlbertK
Posty: 15
Rejestracja: pt lip 22, 2016 11:29 pm

pozioma tabela w oknie dialogowym

Post autor: AlbertK »

Witam,

Chciałbym w oknie dialogowym wyświetlić dwuwierszową tabelę, która zawierać będzie dane zaciągnięte z dwóch zmiennych (arrays).

Pierwszy wiersz zawierałby nagłówki, pobrane z jednej zmiennej, drugi treść ciągniętą z drugiej zmiennej. Elementów w każdym z wierszy byłoby ok. 100. Oczywiście, nie zmieści się to w szerokości okna, dlatego chciałbym, aby wewnątrz pola, wyświetlającego tę tabelę mógł znaleźć się suwak, który przesuwa widok w poziomie.

Rzecz w tym, że w edytorze okien dialogowych nie potrafię znaleźć żadnego odpowiedniego do tego celu formantu (myślę, że nie nadaje się do tego ani lista rozwijana, ani pole tekstowe, etykiety, kombi itd.).

Czy ma ktoś pomysł w jaki sposób to zrobić?

Pozdrawiam
LibreOffice, Wersja: 5.1.3.2 (x64), Windows 10 Home
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: pozioma tabela w oknie dialogowym

Post autor: belstar »

A musi być dialog? Tworząc formularz bezpośrednio w oknie dokumentu masz do dyspozycji formant tabeli, jest to dokładnie to czego szukasz. Niestety nie jest on dostępny w dialogu.

Innym rozwiązaniem jest użycie pola tekstowego i czcionki o proporcjonalnych rozmiarach za pomocą której stworzysz namiastkę tabeli, wiąże się to ze zwiększeniem ilości kodu (każdy element takiej tabeli musi być sprawdzony pod względem długości i uzupełniony spacjami w celu stworzenia złudzenia komórek tabeli, efekt taki możesz podejrzeć np w MRI lub X-ray). Kiedyś jeszcze w czasach wersji 1, OO stworzyłem coś podobnego wykorzystujący ten mechanizm, więc jak chcesz się temu przyjrzeć to mogę poszukać i wstawić na forum.
LibreOffice 5.1.2.2 Ubuntu 16 LTS
AlbertK
Posty: 15
Rejestracja: pt lip 22, 2016 11:29 pm

Re: pozioma tabela w oknie dialogowym

Post autor: AlbertK »

belstar pisze:A musi być dialog? Tworząc formularz bezpośrednio w oknie dokumentu masz do dyspozycji formant tabeli, jest to dokładnie to czego szukasz. Niestety nie jest on dostępny w dialogu.

Innym rozwiązaniem jest użycie pola tekstowego i czcionki o proporcjonalnych rozmiarach za pomocą której stworzysz namiastkę tabeli, wiąże się to ze zwiększeniem ilości kodu (każdy element takiej tabeli musi być sprawdzony pod względem długości i uzupełniony spacjami w celu stworzenia złudzenia komórek tabeli, efekt taki możesz podejrzeć np w MRI lub X-ray). Kiedyś jeszcze w czasach wersji 1, OO stworzyłem coś podobnego wykorzystujący ten mechanizm, więc jak chcesz się temu przyjrzeć to mogę poszukać i wstawić na forum.
Tak, musi być w dialogu. Zacząłem od pisania makra, które usprawniłoby działanie arkusza kalkulacyjnego, skończyłem na czymś, co raczej jest samodzielną aplikacją odbywającą się w wielokrokowym oknie dialogowym, a traktującą arkusz tylko jako bazę danych :) (arkusz, do którego będzie miał dostęp użytkownik zawierać będzie tylko jeden przycisk uruchamiający makro).

Myślałem nad rozwiązaniem, które proponujesz, ale problemem jest właśnie konieczność "krojenia" tekstu na kształt tabeli (no i, szczerze mówiąc, mało atrakcyjny efekt wizualny). Możliwe więc, że zrobię to jednak w formie kilku rozwijanych w pionie listboxów , wtedy łatwiej o zachowanie czytelności (minusem będzie jednak to że mało który użytkownik listboxy przewinie żeby cokolwiek sprawdzić). Szkoda, że twórcy libra nie przewidzieli tak podstawowego narzędzia w dialogach.
LibreOffice, Wersja: 5.1.3.2 (x64), Windows 10 Home
ODPOWIEDZ