Hello,
Extension 1: since lines is a valid table attribute in the ATTRIBUTES section it should be valid for an explicit table container.
Is it? That's sneaked past me! I don't use <t > tables...
Extension 2: yes, simplifies reading a form file. Especially when forcing source files to have a limited number of columns. (I'm very conservative: all my source files have a limited width of 80 characters.)
Yes, very wide tables are quite a problem, but I've found that using the scroll attribute and aggressively truncating any CHAR column over about length 15 works very well, and 98% of all real data STILL displays fully. Chopping char fields literally in half is nearly always satisfying. Multi-line tables would be really nice to have, but probably not easy to achieve!
Something similar; I tried a trick on a hunch and discovered it's quite easy to get multi-line table headers. The hunch works probably due to a Qt feature; I don't know if the Silverlight client, GWC or GJC also support the feature. What I did was inject a newline character into the text attribute of a column and it rendered the header (and all headers) on two lines. Since | is a very unusual character to have in a table column header (and a quick grep confirmed we did not have any) I made my forminit callback function do this:
let nl = dn.selectByPath('//Table')
for i = 1 to nl.getLength()
let tb = nl.item(i)
for j = 1 to tb.getChildCount()
let dnCol = tb.getChildByIndex(j)
let str = dnCol.getAttribute("text")
let l = str.getLength()
let k = str.getIndexOf("|", 1)
if 1 < k and k < l
then
let str = str.subString(1, k - 1) || "\n" || str.subString(k + 1, l)
call dnCol.setAttribute("text", str)
end if
end for
end for
So our programmers only have to put | into the column headers and they can have more words in it. Looks nice too.
What's your feeling about this working in the Silverlight client? If it's not currently working in GWC I expect we could get one of our Javascript programmers to solve that.
It occurs to me now that the form compiler
could look for two lines of table headers and do this formally. What's the possibility of that being achievable? I wouldn't like to go more than two lines, because screen space is already hard to find!