B
Bauduin Raphael
Hi,
this is my first announcement here. I hope I'm not too verbose, but I
want to be sure you see the usefulness of this
In my development of web interfaces, I often have to display rows coming
from a database in a HTML table, with some fields being hyperlinks (to,
for example, a details page of the row), with navigation links when the
list returned is to long to be displayed on one page, with possibility
to sort by the values in a certain column.
I developed such a component for cgikit and called it CKHTMLTable.
You can download it at http://www.raphinou.com/CKHTMLTable-latest.tgz
and find a web page on the web with some explanations:
http://www.raphinou.com/wiki/wiki/show/CKHTMLTable+Details
A little example is also available for download at
http://www.raphinou.com/CKHTMLTableExample.tgz
If you don't know cgikit, I can only encourage you to take a look at it
(http://www.spice-of-life.net/cgikit/index_en.html). It works with three
files: html "template", binding file, and ruby code file and has
inspiration in WebObjects.
The component makes it very easy to display data in a HTML table, with
possibly navigation links and sorting.
For example, to display an array in a table, here what is needed:
##############
#html template
<cgikit name="ExampleTable1"/>
############
#ckd binding
ExampleTable1 : CKHTMLTable{
item_list = list;
fields = fields;
}
##########
#ruby file
@list = [ ["r1f1","r1f2","r1f3"],
["r2f1","r2f2","r2f3"],
["r3f1","r3f2","r3f3"],
["r4f1","r4f2","r4f3"],
["r5f1","r5f2","r5f3"]
]
@fields = [ "field 1",
"field 2",
"field 3"
]
To hide a column, just add this
############
#ckd binding, in the ExampleTable1
linked_fields = linked_fields2;
##########
#ruby file
@linked_fields2 = LinkedFields.new
@linked_fields2.add_hidden "field 1"
To have "field 2" being a link to the Details element, do this in your
ruby file:
link = LinkSpec.new "field 2"
link.page="Details"
link.set_query("detail_value","field_value(\"field 1\")")
link.add_query_eval("detail_value")
@linked_fields2.add_link link
If you want to know more, look at the working example available for downlod.
Hoping this will be useful to some of you.
Raph
this is my first announcement here. I hope I'm not too verbose, but I
want to be sure you see the usefulness of this
In my development of web interfaces, I often have to display rows coming
from a database in a HTML table, with some fields being hyperlinks (to,
for example, a details page of the row), with navigation links when the
list returned is to long to be displayed on one page, with possibility
to sort by the values in a certain column.
I developed such a component for cgikit and called it CKHTMLTable.
You can download it at http://www.raphinou.com/CKHTMLTable-latest.tgz
and find a web page on the web with some explanations:
http://www.raphinou.com/wiki/wiki/show/CKHTMLTable+Details
A little example is also available for download at
http://www.raphinou.com/CKHTMLTableExample.tgz
If you don't know cgikit, I can only encourage you to take a look at it
(http://www.spice-of-life.net/cgikit/index_en.html). It works with three
files: html "template", binding file, and ruby code file and has
inspiration in WebObjects.
The component makes it very easy to display data in a HTML table, with
possibly navigation links and sorting.
For example, to display an array in a table, here what is needed:
##############
#html template
<cgikit name="ExampleTable1"/>
############
#ckd binding
ExampleTable1 : CKHTMLTable{
item_list = list;
fields = fields;
}
##########
#ruby file
@list = [ ["r1f1","r1f2","r1f3"],
["r2f1","r2f2","r2f3"],
["r3f1","r3f2","r3f3"],
["r4f1","r4f2","r4f3"],
["r5f1","r5f2","r5f3"]
]
@fields = [ "field 1",
"field 2",
"field 3"
]
To hide a column, just add this
############
#ckd binding, in the ExampleTable1
linked_fields = linked_fields2;
##########
#ruby file
@linked_fields2 = LinkedFields.new
@linked_fields2.add_hidden "field 1"
To have "field 2" being a link to the Details element, do this in your
ruby file:
link = LinkSpec.new "field 2"
link.page="Details"
link.set_query("detail_value","field_value(\"field 1\")")
link.add_query_eval("detail_value")
@linked_fields2.add_link link
If you want to know more, look at the working example available for downlod.
Hoping this will be useful to some of you.
Raph