Beruflich Dokumente
Kultur Dokumente
Database Access
Status ra!t
"#en"!!ice$or% Base& "#en"!!ice$or% 'riter& "#en"!!ice$or% Calc& "#en"!!ice$or% ra(& "#en"!!ice$or% )m#ress Feature
Abstract
5
"#en"!!ice$or% extends its existin% list and combo box !orm controls to allo( !or more than one column$ *hat is& content in those list-like controls can be dis#la+ed in a tabular !ashion$ For controls bound to database tables or ,ueries& as usuall+ to be !ound in database !orms& the existin% data bindin% ca#abilities are extended to accommodate to multi#le columns$ i-Team !embers (The specification owner is part of the i-Team) "ame %ser #&perience De'elopment (ualit Assurance Documentation Christian -ansen .C-/ Frank Schnheit .FS/ Marc 2eumann .MSC/ 3(e Fischer .3F)/ #-mail A$$ress christian$0ansen1sun$com !rank$schoenheit1sun$com marc$neumann1sun$com u(e$!ischer1sun$com
Appro'e$ for Implementation Appro'e$ b %ser #&perience De'elopment (ualit Assurance Documentation String )e'iew Date
htt#455dba$o#eno!!ice$or%5s#eci!ications5!orms5multi6column6list6controls$odt
10
Column Heads !or database-ori%inated list entr+ source no( taken !rom the database columns su%%estin% #ro#ert+ !or (idth o! the !loatin% (indo( o! a dro# do(n combo box in the 9Future *asks9 cha#ter added idea o! line (ra# in the list to 9Future *asks9 cha#ter added cha#ter about Basic dialo% controls added hint ho( to read )llustration 2 s#eci!ied #osition o! the ne( #ro#erties in #ro#ert+ bro(ser added Text column #ro#ert+
htt#455dba$o#eno!!ice$or%5s#eci!ications5!orms5multi6column6list6controls$odt
Contents
:lossar+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1 . 2$1 2$2 2$8 2$< 2$5 2$6 2$> 2$? / 8$1 8$2 8$8 8$< 1 !oti'ation++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Detaile$ Specification+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ . :eneral )dea$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 2 3ser inter!ace !or creatin% multi-column list-like controls$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$2 ;##earance o! a multi-column list$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 8 Su#ersedin% the List entries #ro#ert+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$< Lists bound to cell ran%es$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ < =ro#ert+ Bro(ser4 =ro#ert+ de#endencies$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$< Com#atibilit+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 5 Basic dialo%s$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 6 Appen$i&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 0 @xam#les$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 6 Com#etiti7e ;nal+ses$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 6 Future *asks$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ? 2otes$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ? )eferences+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2
htt#455dba$o#eno!!ice$or%5s#eci!ications5!orms5multi6column6list6controls$odt
3lossar
Term #ro#ert+ bro(ser #ro#ert+ !orm control Description ; com#onent !or ins#ectin% and modi!+in% .!orm related/ ob0ects such as A !orm controls$ the smallest #ossible as#ect o! a A !orm control (hich can be modi!ied in the A #ro#ert+ bro(ser Form controls are document elements (hich beha7e like (ell-kno(n user inter!ace elements in usual a##lications& such as o#tion buttons& check boxes& in#ut !ields& and the like$ Controls can a##ear in an+ o! "#en"!!ice$or%Bs document t+#es$ ; A !orm control dis#la+in% a list o! text 7alues$ *he list 7alues can be d+namic or static4 *he+ can ori%inate !rom a data source .such as a database table/& or the+ can ha7e been !ixed b+ the desi%ned o! the !orm$ List entries are selectable& the currentl+ selected entr+ is usuall+ considered the current 7alue o! the list box$ combo box ; !orm control dis#la+in% a list o! 7alues& #lus a !ree text in#ut !ield to enter a dedicated 7alue$ *hereBs a connection bet(een the list and the in#ut !ield& in a (a+ that selectin% a list entr+ trans!ers the entr+Bs text into the in#ut !ield& and enterin% a text in the in#ut !ield selects the .#ossible !irst o! multi#le/ entries (hose text 7alue e,uals the in#ut$ list-like controls list entr+ source "#en"!!ice$or% Locale Both A list box and A combo box !orm controls$ t(o-dimensional arra+ o! .strin%/ 7alues& (hich is to be used as source !or the entries in a list box$ the locale set u# !or "#en"!!ice$or% to use in Tools / Options / Language Settings / Languages / User interface$ *his a!!ects settin%s !or numberin%& currenc+ and units o! measure$ !or A !orm controls& this is the a##lication t+#e .'riter& Calc& )m#ress/ (hich belon%s to the document t+#e (here the A !orm controls are embedded
list box
host a##lication
15
!oti'ation
Current list-like !orm controls in "#en"!!ice$or% can onl+ dis#la+ one column o! data$ @s#eciall+ in database en7ironment& (here those controls are used to dis#la+ data !rom a data source such as a database table& this is a considerable limitation4 )! the database desi%n !or a #articular table re,uires certain in!ormation to be s#lit u# to multi#le table columns .sa+& C!irst nameD and Clast nameD/& then there is no reliable and eas+ (a+ to dis#la+ this in!ormation& as a (hole& in a list-like control$ ;dditionall+& the lack o! multi-column list-like controls in all a##lications .'riter& Calc& ra(& )m#ress/ hinders customer mi%ration !rom Microso!t "!!ice$ *his is both because o! im#er!ect im#ort o! existin% Microso!t "!!ice documents& and because o! users missin% !unctionalit+ in "#en"!!ice$or% (hich the+Bre used to in Microso!t "!!ice$
20
=a%e 1
Detaile$ Specification
80
85
di!!erent mechanisms to describe a t(o-dimensional list entr+ source !or a list-like control Type of list content 5 List content in all a##lications Source cell range in Calc list-like controls are able to dis#la+ a sub set o! the list entr+ source& b+ i%norin% a number o! columns !rom the end o! the list entr+ source e$%$ i! the list entr+ source has 5 columns& but Column count is onl+ 8& then the last 2 columns are i%nored i%norin% columns (hich are set to a (idth o! 0& b+ means o! Column widths #ro#ert+ i!!erent mechanisms to describe a #lace (ith (hich the current 7alue o! the list-like control is exchan%ed& a so-called bindin% Data field in all a##lications Linked cell in Calc Bound field describes (hich column in the list entr+ source should be taken to exchan%e 7alues (ith the bindin% e$%$ a Bound field o! 2 de!ines that the 7alue o! the second column o! the Source cell range& and in the currentl+ selected ro(& should be stored in the Linked cell$
<0
<5
50
55
60
65
Multi Column List and Combo Box Controls silentl+ assumed to be to 2 cm de!ault !or ne(l+ created controls4 em#t+ 7alue& thus de!aultin% all column (idths to 2 cm to be !ound on the C:eneralD tab #a%e o! the #ro#ert+ bro(ser& belo( Column count Column hea$s both list and combo box controls %et a ne( #ro#ert+ Column heads boolean #ro#ert+ s#eci!+in% (hether the !irst line o! the list entr+ source should be considered a nonselectable& non-scrollable header i! list entr+ source is !rom a database .table5,uer+/& then column heads are taken !rom the res#ecti7e database columns e$%$ Type of list content is SJL& List content is S@L@C* ) & name FF"M member& Column heads is Kes& then the strin%s !or the column heads are C) D and CnameD& not the strin%s !rom the !irst data ro($ de!ault !or ne(l+ created controls4 2o to be !ound on the C:eneralD tab #a%e o! the #ro#ert+ bro(ser& belo( Column widths Te&t column combo box controls %et a ne( #ro#ert+ Text column inte%er #ro#ert+ s#eci!+in% (hich column o! the list entr+ source should be connected to the text !ield #art o! a combo box disabled i! and onl+ i! Column count is 1 de!ault !or ne(l+ created controls4 1 to be !ound on the C:eneralD tab #a%e o! the #ro#ert+ bro(ser& belo( Column heads String list Item Label Label Label Label
L0
>0
>5
?0
?5
Comments
Illustration 1: OpenOffice.org list box, with 2 columns and column heads 7ertical delimiter lines at the ri%ht hand side o! a column& exce#t the last one TODO color! "o dedicated style color exists# but perhaps something like Sha o!Color.IncreaseLu"inance# Sha o!Color.Lu"inance $ Dar%Sha o!Color.Lu"inance & can do $ at least it results in the expected %light gray& when applied to the default colors no horiIontal delimiter lines normal colorin% (ith res#ect to selection& !ocus rectan%le& and the like
L5
=a%e 8
Multi Column List and Combo Box Controls column heads& i! #resent4 normal dialo% back%round5text color
100
horiIontal lines at to# and bottom 7ertical delimiter lines at the ri%ht hand side o! a column& exce#t the last one color !or the lines is dark shado( color .!rom MCLBs St+leSettin%s/ both the normal list box control& and the list #art o! a combo box control look as described abo7e
110
List entries #ro#ert+ is remo7ed& and mer%ed into List content #ro#ert+ )! Type of list content is *able& Juer+& SJL& or SJL .nati7e/& List content (orks as be!ore N s#eci!+in% the table& ,uer+& or SJL statement to execute& to obtain the list entr+ source )! Type of list content is *able !ields& List content (orks as be!ore N s#eci!+in% the name o! a table (hose !ields de!ine the .one-column/ list entr+ source$ )! Type of list content is Malue list4 entries s#eci!ied b+ List content make u# the list entr+ source !rom le!t to ri%ht& and to# to bottom !or exam#le4 )! List content is C;DODBDODCDOD DOD@DODFD i! Column count is 2& the list entr+ source is ; B C @ F i! Column count is 8& the list entr+ source is ; B C @ F see cha#ter CCom#atibilit+C !or in!ormation about im#ort o! existin% documents
115
120
125
180
=a%e <
185
Illustration 2: Property dependencies in the property browser )llustration 2 sho(s a7ailabilit+ o! #ro#erties4 #ro#ert+ is enabled i! and onl+ i! all arro(s #ointin% to this #ro#ert+ are !ul!illed e$%$ Linked cell is enabled i! and onl+ i! Data field is em#t+ 'ilter proposal is enabled i! and onl+ i! Linked cell is em#t+& and Data field is not em#t+
1<0
.+8 Compatibilit
Import of e&isting $ocuments )! Type of list content is not e,ual Malue list4 Column count is set to 1 Column widths is set em#t+ Column heads is set to 2o all other #ro#erties im#orted unchan%ed )! Type of list content is e,ual to Malue list4 Column count is set to 2 the List content and List entries strin% se,uences !rom the old !ormat are mer%ed to%ether& alternatin%& !ormin% the ne( List content 7alue Column widths is set 0cm& so that the !irst column .carr+in% the !ormer List content 7alues/ is not 7isible Column heads is set to 2o #&port *he ";S)S !ile !ormat is extended to co7er the ne( !eatures$ "lder ""o 7ersions i%nore the Column count& Column Heads& and Column widths$
1<5
150
155
=a%e 5
Multi Column List and Combo Box Controls )! Type of list content is Malue list& and Column count %reater 1& older 7ersions read a List entries strin% se,uence (hich e,uals the !irst 7isible column o! the list entr+ source a List content strin% se,uence (hich e,uals the list entr+ source column denoted b+ Bound field )! Type of list content is Malue list& and Column count e,uals 1& older 7ersions read a List entries strin% se,uence (hich e,uals the .one-column/ list entr+ source an em#t+ List content strin% se,uence )! Type of list content is somethin% other than Malue list& older 7ersions read an em#t+ List content strin% se,uence all other 7alues unchan%ed
160
165
/
1>0
Appen$i&
/+- #&les
TODO
1>5
1?0
1?5
1L0
1L5
=a%e 6
Multi Column List and Combo Box Controls same as Microso!t 'ord& exce#t C*extD and C*ext columnD #ro#erties do not exist N al(a+s the content o! the !irst 7isible column is stored in the in#ut !ield o! the combo box ex#licit list entr+ de!inition #ossible4 (hen CFo( Source *+#eD is CMalue listD& the CFo( SourceD entries com#rise the listBs content (hen bound to a data source .table 5 ,uer+ 5 SJL statement/ (ith multi#le columns& those are ma##ed to the columns o! the control (hen bound to a data source& CBound ColumnD denotes the lists column (hose 7alue is matched (ith the CControl SourceD
200
205
Illustration 3: icrosoft !ccess list box, with 2 columns and column heads (hen list is !illed !rom a result set .i$e$ a table5,uer+5SJL statement/& and CColumn GeadsD is CKesD& then the column heads are !illed (ith the names o! the columns o! result set
210
215
220
225
280
285
OpenOffice+org .+, !orm controls& includin% list-like controls& are the nearl+ same across all a##lications onl+ sin%le-column ca#abilities i! the list entr+ source .could be !rom a database or a s#readsheet cell ran%e/ is multi-column& the !irst column is used !or dis#la+ i! a list box is to exchan%e data (ith a database column& the Bound 'ield #ro#ert+ becomes rele7ant N it denotes the index o! the column in the list entr+ result set (hich is to be used !or data exchan%e handlin% o! list entr+ sources some(hat stran%e4 i! Type of list content is Malue list& or *able Fields& List entries contains the strin%s to dis#la+& and List content the strin%s to inter#ret as 7alues tied to the dis#la+ed strin%s *his (a+& List entries and List content e!!ecti7el+ de!ine a t(o-dimensional list entr+ source (ith 2 columns )! Type of list content is *able& Juer+& SJL& or SJL .nati7e/& List entries is disabled and i%nored the result set de!ined b+ Type of list content and List content is the list entr+ source al(a+s the !irst column o! the list entr+ source is dis#la+ed the 7alue o! Bound field de!ines (hich column is used !or the 7alues associated (ith the dis#la+ed strin%s Calc #ossible to declare a cell ran%e as list entr+ source #ossible to declare a sin%le cell as bound cell& (hose content is s+nchroniIed (ith the current 7alue o! the list box current 7alue can be one o! t(o& de#endin% on the Content if linked cell #ro#ert+ 7alue4 =osition o! the selected entr+ *he selected entr+$ )n this case& the Bound 'ield #ro#ert+ 7alue is i%nored .2ote4 this is di!!erent !rom MS" beha7ior& (here CBound columnD denotes (hich column is bound to the CLinked cellD/
2<0
Multi Column List and Combo Box Controls more !lexibilit+ MS" has it& too
/+1 "otes
2<5
250
TODO (hat about )ccessibility* +!g!# which column is read in the selected row* )ll* idea4 Line (ra# i! text doesnBt !it into a column& it could be (ra##ed e!!ecti7el+& this means that lines in the list box can ha7e di!!erent hei%hts& bein% a multi#le o! the Cstandard hei%htD 3n!ortunate that List entries in Basic dialo% controls no( does the 7er+ same thin% as List content in !orm controls alternati7e mo7e List entries to the data #a%e use5enable List entries (hen Type of list content is Malue list use5enable List content (hen Type of list content is somethin% other than Malue list
255
)eferences
6ibliograph
[SPEC.DBA.PROPBRWENH] Property Browser Enhancements, Fran Sch!nhe"t, #arch $%%&' htt#455dba$o#eno!!ice$or%5s#eci!ications5!orms5#ro#6bro(ser6enhancements$sx( [SPEC.CA(C.()N*EDCON+RO(S] Form Contro,s ("n e- to Sprea-sheet Ce,,s, Dan"e, Rent., #ay $%%/' htt#455s#ecs$o#eno!!ice$or%5calc5com#atibilit+5linkedcontrols$sx(
=a%e ?