Korábban már szóltunk a Tablekit-ről, most elkezdtük alkalmazni is. Esetünkben a táblázatot egy Prototype Ajax.Updater küldi, és ezután kívánjuk a táblázatunkat szerkeszteni. Probléma az, hogy ilyenkor automatikusan nem futnak le azok a scriptek, amik az inicializálást végzik el. Két megoldást találtunk ki:
A szebb megoldás:
var myAjax = new Ajax.Updater(
'options',
url, {
method: 'post',
parameters: pars,
evalScripts: true,
onSuccess: setTimeout('TableKit.load()',100)
});
//tehát onSuccess után 100ms-mal meghívjuk a Tablekit.load() függvényt. A timeoutra azért van szükség, mert az onSuccess és onComplete eseménykor még az "options" div nem tartalmazza a végeredményt.
Nem annyira szép megoldás:
<img src="indicator_medium.gif" onload="TableKit.load(); this.parentNode.removeChild(this);" alt="" />
Updatekor érkezik egy kép is, jelen esetben egy indikátor, melynek onload eseményébe toljuk bele a Tablekit.load() hívást, majd ezzel a lendülettel a képet el is távolítjuk a DOM-ból: this.parentNode.removeChild(this);
Ha van szebb megoldásotok, nehabozzatok. Írjátok meg!
Hulladék szerintem ez a table-kit, vagy nagyon át kell írni a CSS-ét, az onclick edit is idegesítő.
ExtJS király és kész
Az sokkal durvább, a táblamanipuláció csak egy modul, komponenes benne.
Ez meg pusztán azt tudja, csak szebb és jobb.
http://www.scbr.com/docs/products/dhtmlxGrid/index.shtml
http://cssjuice.com/16-sortable-table-techniques/
ez jó
A dhtmlxGrid tényleg jó, de sokkal körülményesebb az első ismerkedés. A tablekitnél jól megoldották hogy egy class-t kell adni és már megy is.
Az ExtJS meg LGPL licensz, ellentétben a Tablekit MIT licenszével (persze ismerek pár “kedves” fejlesztőt aki a legnagyobb lelki nyugalommal használ fel JS kódot, miután kitörölte a szerzőt); szóval azért vannak a tablekitnek előnyei.