QA@IT

GRIDVIEWのヘッダー表示が調整できない。

3637 PV

いつもお世話になっております。
現在、ASP.NET(C#、VS2010)にて開発を行っております。

フォーム上にGRIDVIEWを表示し、ヘッダーを縦書きに変更して一部列を固定しようとしています。
マスタページを使用していますので、下記スタイルをマスタページに記載しています。
.FreezingHeaderCol
{
z-index: 1;
writing-mode: tb-rl;
position: relative;
left: expression(document.getElementById("freezingDiv").scrollLeft);
text-align:left;
}

このスタイルを一部ヘッダ列のHeaderStyleのCssClassに記載しています。

この状態で実行すると、ヘッダーは縦書きになりますし列固定もできるのですが、
ヘッダーがヘッダーテキスト1行分の幅だけで左寄せ状態となってしまいます。
幅を設定しようと、スタイルに「width:1;」を追加すると、幅はデータ列と同じ幅になるのですが、
今度はヘッダーテキストが右に寄ってしまいます。
列固定していないセルのヘッダーは中央表示にしているため、合わせたいのですが、
どのようにしたら、中央に表示できますか?

  • expression 関数は IE 専用(Firefox など他のブラウザでは動かない)、IE でもサポートは終了していて互換モードでないと動かない・・・ということは認識されていて、それなりの対応は取られているのでしょうか? -
  • writing-mode も IE 独自拡張でしたね。IE 専用ということでいいのでしょうか? -
  • こんにちは。
    正直なところ、まだASPなどを初めて一週間経っていないため、ネットで探しながら見よう見まねな状態のため、それなりの対応と言うのはまだわかっていません。
    また、環境に関してはIE限定となります。
    -
  • もしも手間を惜しむのであれば、jqueryなどを使ってサクッと実装したほうが良いのでは?
    この辺を参考に...
    http://kawama.jp/archives/2013/03/07/grid-js_supertables_tablefix.html
    -
  • http://surferonwww.info/Test/19_Test.aspx のページにサンプルがアップされてますが、質問者さんの IE で見てヘッダ / 列が固定されてスクロールされますか? であれば、F12 開発者でドキュメントモードを見てください。Quirks になっていませんか? 「それなりの対応」というのはそうなるようにするための対応です。 -
  • SurferOnWwwさん。
    記載頂いたサンプルですが、ヘッダ/列が固定されてスクロールされていました。
    また、開発者でドキュメントモードを見たらQuirksになっていました。
    また、私が開発中のページも同じようにQuirksになっています。
    -
  • akira_onozukさん。
    jqueryに関してはまだ見ていないので、少し勉強してみます。
    -
  • Quirks モードにすることによって、好ましからざる副作用が出ることは理解されているでしょうか? たとえば、この QA@IT のページを表示ているときに、F12 開発者ツールを起動してドキュメントモードの設定を Quirks に変えてみればわかると思います。 -
  • 見てみました。
    正直、副作用とかは全く分かっていません。
    ただ、私の現時点での知識ではどうにも分からないからここに書かせてもらったのです。
    -
  • レスが舌足らずだったようですみません。数々の問題を承知で、なお expression 関数を使う方向で進めるのですか? 他の回答者の方が提案されているように、JavaScript / jQuery ライブラリを使う方向に方針転換されてはいかがですか?・・・と言いたかったのです。 -
  • SurferOnWww様。返信遅くなり申し訳ありませんm(_ _)m 正直、expression関数を使わないで実現できるならその方向では行きたいと思っています。ただ、現時点においてまだJavaScriptやJQueryで実現できてないので、最終的には方針は変換したいと思っています。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。