« FormのLayout.Type | トップページ | PopupMenuの使い方 »

2007年10月 6日 (土)

DBGridの特定の列を非表示に

DBGridの特定の列をvisible=falseにする方法。

コード編
DBGrid1.getTableColumnModel().setColumnVisible($i, false);
※$iには0とか1とかの列番号を入れてください。

でもこれ、使うタイミングが難しくて、なかなかうまく消えてくれません・・・。

プロパティ編

DBGridのColumnsプロパティ(ObjectInspector)で、あらかじめ必要なItems(各列)をすべて作成しておく必要があります。

FieldnameはQueryのFieldsと同じで、大文字で書く必要があります。
この列を非表示にする場合、Visibleをfalseにします。


が、ここで問題が!


update2現在、visibleプロパティがコードの中に実装されていません・・・。

でも、アテクシ今これが絶対必要なので、実装してみました。

vcl/dbgrids.inc.phpの742行目あたりにあるcommonScriptファンクションの中の、776行目の$fname=$value['Fieldname'];の下に

下記のコードを追加します。

$visi = strtolower($value['Visible']);
if($visi == 'false')
{
 echo "$this->Name.getTableColumnModel().setColumnVisible($i,false);\n";
}

※falseはbooleanじゃなく、文字列で入っています。

これでちゃんと非表示になると思います。

|

« FormのLayout.Type | トップページ | PopupMenuの使い方 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/70189/16668541

この記事へのトラックバック一覧です: DBGridの特定の列を非表示に:

« FormのLayout.Type | トップページ | PopupMenuの使い方 »