2009-07-24 27 views
0

Dojox 1.3 Datagridの高さをExcelなどの1行に固定しようとしています。現在の機能は、1行に収まらないより多くのデータが利用可能な場合に、行の高さを自動的に増加させることです。Dojox Datagridの行の高さを1行に設定する方法

これを行う簡単な方法はありますか?これは、これがスプレッドシートのデフォルトの動作であることを念頭において、データグリッドの機能性に組み込まれているようです。あなたは高さを設定することはできませんが、幅を調整することができ、ヘルプ

+0

現在、DataGridの単一の行のサイズを変更する方法はありません。 – seth

+0

jfkelleyの答えを参照してください。唯一の方法は、あなたの道を通り抜けることです。グリッドオブジェクト自体にこの機能が組み込まれていれば、簡単に「折りたたみ/展開」ボタンを作ることができます(実際にはdoren.queryの後にdojo.queryを使用してください) – mschr

答えて

0

ため

感謝。文字列を1行に収めるためには、通常、セルがどれくらい広くなければならないかを知っていれば、1行に収まる行の数を最大にするために要素を設定することができます。

<table //dojo grid properties> 
    <thead> 
     <tr> 
      <th width="90px" field="fieldName" ...> 
       Field Name 
      </th> 
      ... 
     </tr> 
    </thead> 
</table> 

これが役に立ちます。

1

私はできると思います。追加し、クラス.dojoxGridCellContentで

ホワイトスペースを:ここで

は、私が使って実験してきたものですNOWRAP。 オーバーフロー:非表示。

私の「Squeeze/Expand」関数では、少し属性を使ってクラス属性を動的に変更し、グリッドを再ペイントします。

私は、垂直方向の視覚的なスキャン(必要に応じてセルの内容を切り捨てる)を容易にするために行を1行 "高さ"に下げて(ExcelとHTMLの両方で)行をクランクする必要があることを確信しています特定の行のセル内の完全な内容を見るためにそれらを再び拡張することができるようにする。

与えられたセルに可変量のテキストがある場合は、列のサイズを手動で任意のセルのすべてのテキストに収まる大きさに調整するのは難しい解決方法です。生産性のアプリでは、機能しない空白が敵です。

この便利なことを行うためにDojoに組み込まれた方法があることを望みます(多年生のブラウザ間の条件付き楕円の問題も解決します)。

+0

実際には、 CSS固有のルールに勝つために、 "。dojoxGridContent"だけでなく ".claro .dojoxGridContent"を設定します。グリッドを設定するときにdojoxGridContent divのスタイルを指定する方法があるかもしれませんが、それが(まだ)何か分かりません。そうでなければ、素晴らしい作品! – jfkelley

+0

ここにあります。グリッドを描画する直前に、レイアウト構造を歩み、cellStyles = "white-space:nowrap; overflow:hidden; height:1em"を設定します。高さを追加すると、セル内にbrオブジェクトがあってもスクイーズすることができます。 – jfkelley

1

ハックが見つかりました!列フォーマッタとして

使用これは:

function(obj){ 
    return "<div style='height:15px;text-overflow:ellipsis'>"+obj+"</div>" 
} 

これは単なるハックであり、私は行セレクタといくつかの問題を見ています。しかし、とにかく、これが皆さんに役立つことを願っています。

関連する問題