Webアプリケーションでjqgridを使用しています。サーバー側を実行するページングとソートのための機能が組み込まれているため、検索結果をレンダリングしています。以前はTablesorterを使用していましたが、それはクライアント側を操作していました。なぜjqgrid、flexigrid、ingridはすべてヘッダとデータに別々のテーブルを使用しますか?
私たちには、テーブルのスタイルを作成し、jqgridで同じように見えるようにしたプロジェクトのWebデザイナーがいました。それは働いているが、それほどではない。ヘッダー列とデータ列の位置がずれているという問題があります。私たちはCSSを手にしましたが、うまくいかないようです。スクロールバーが表示されない場合は、スクロールバーが表示されることがあります。
とにかく、問題の一部は、jqgridが列ヘッダーに1つのテーブルを使用し、データ自体にもう1つのテーブルを使用するようです。これらのテーブルは、それぞれdiv
タグで囲まれています。 フレキシグリッドとイングリッドのようないくつかの代替案を見てきましたが、ヘッダーとデータの別々のテーブルでも同じアプローチを使用しています。
なぜこのアプローチが使用されているか説明できる人がいれば嬉しいです。なぜ標準のtable
タグが、ヘッダのためにth
の行を持ち、データのためにtd
が代わりに使用できないのだろうと思っていましたか?
列ヘッダーの配置に関心がある場合は、http://stackoverflow.com/questions/3003187/jquery-jqgrid-how-to-set-alignment-of-grid-header-cells/3006853#3006853を参照してください。 – Oleg
問題は、実際には列内のテキストの整列ではなく、ヘッダー列とデータ列が互いに整列していることです。たとえば、3番目のヘッダーが2番目と3番目のデータ列に跨っている可能性があります。 – GiddyUpHorsey
とにかく、私はCSSを微調整し、各データ値をdivにラップすることで問題を解決しました。私たちのデザイナーは、jqgridが発行したHTMLとCSSをまったく_get_しませんでした。私の疑問は依然として残っていますが、なぜ前述のグリッドコンポーネントでマルチテーブルアプローチを使用していますか? – GiddyUpHorsey