Autor Zpráva
Tomášeek
Profil
Ahoj,
pracuji na výpisu informací do tabulky, která se má chovat jako excelovská - možnost pohybovat se mezi buňkami šipkami i kliknutím, editace stejnou formou jako v Excelu (tzn. když začnu psát do buňky, kde už je nějaký obsah, zahodí se a začne se psát od začátku, editovat stávající obsah mohu buď klikem do inputu nad celou tabulkou, nebo ideálně i dvojklikem do buňky).

Tolik pro vysvětlení, jak celá aplikace funguje/má fungovat. Nyní k tomu mám tři otázky:
1. tabulka má šířku větší než viewport. Jak zabránit, aby při umístění "aktivní buňky" ve sloupci A, B (zkrátka ve sloupcích, které jsou v levé části monitoru a vpravo je ještě dost místa) nedocházelo při stisknu pravé šipky k posunu scrollbaru, ale pouze přechodu mezi buňkami? Scrollbar by se měl hnout až v momentě, kdy budu chtít přejít na buňku třeba ve sloupci "E", který je nyní na hraně zobrazení, a to tak, aby byla tato "aktivní" buňka viditelná celá. Totéž při posunu levou šipkou zpět, nescrollovat do doby, než bude nutné. Nyní mi přeskakuje aktivní buňka, ale společně s tím se mi pomalu scrolluje do strany, což je rušivé. Jako důsledek to má, že se mi může dostat aktivní buňka mimo viditelnou plochu.

2. jak dvojklikem do buňky s textem vložit v #preview kurzor na místo, kam jsem udělal dvojklik?

3. jak zajistit zápis do aktivní buňky, pokud nemám aktivní textový input nahoře? Jde mi o ošetření situace, kdy třeba budu chtít tisknout klávesovou zkratkou nebo cokoliv jiného, aby se mi obsah aktuální buňky nezahodil. Měnit se má pouze při psaní. Je to interní aplikace, obyčejné texty, a-žA-Ž0-9 + interpunkce. Kontrola kódů kláves s povolenými znaky mi přijde dost brutální, navíc třeba Ctrl+P by pod klávesu "P" také asi spadlo. Jen dodám, že obsah se bude vždy psát, nehrozí tedy ani vkládání ze schránky, apod.

Ukázku, co zatím mám, přikládám (je to interní záležitost, běžet to bude na webkitu - pokud by to nefungovalo v IE, netřeba rozebírat, jednak nemám možnost to otestovat, druhak to pro nás je zbytečné a řešit to nebudeme).
Živá ukázka

Děkuji za nakopnutí a rady :-)
ServIT
Profil
Tak to je dost velký krajíc .. ne že by to nešlo, ale .... pro inspiraci bych určitě šel do phpMyAdminu, který přesně tohle umí

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0