Z - {フィールドは} Codechargeのテンプレート用のHTMLであるので、(何かがそこにあるように)jsfiddleでjQueryが動作しません - それ私はjsfiddleでプレーし、役立つかもしれない変更のカップルを示唆も何もないではありません各テンプレートフィールドの後にスペース、(そうthis.InnerHTML == ''
は本当ではありません)
があるように見えます:
- コードチャージは公開されるまでHTMLを正しくレイアウトしないので、閉じる
</table>
タグは実際には中間テーブルであり、jqueryを混乱させるでしょう。
- セパレータとフッタの行は両方とも 'colspan = 55'を使います。最後に
</table>
タグを閉じる)、それはテストコラムのために働いた。
また、サーバー側では、各列にコードチャージパネルを追加することもできます(これはグリッドビルダーウィザードのオプションですので、時間を節約できます)。 'panelname6.Visible = false'値によって異なります。
BeforeShowRowを使用して各列番号にフラグを付け、Grid BeforeShowイベントでカスタムコードを使用してパネルをループスルーして非表示にします。隠しフィールドに非表示にする列を格納し、jqueryを使用して、使用しているものと同様のコードを使用して非表示にすることもできます。グリッド・オプション等に関する
編集 - パネルは
グリッドBuilderは、「ダニ(表示/非表示機能のために)各列にパネルを追加することを可能にする処理(ステップ7と思う)で後半にいくつかのオプションを持っていますそれぞれの列(および列の見出し)の周りにパネルを追加して、コードの背後でそれらをオンまたはオフにすることができます。しかし、一意に名前を付ける必要があるため、jQueryを使用して完全な列を無効にすることもできます。
すべてのコントロールは、以下のタイプのブロックに取り込まれた場合に指定します。動的ページに/ショーのコントロールを非表示にするために使用されます <!-- BEGIN ControlType ControlName --><!-- END ControlType ControlName -->
。
「Grid Builder」のコードチャージマニュアルから。
パネルをオフにするの背後にあるコードで低迷列を設定するには、より多くの作業ですが、(擬似コード)のような何か:あなたができる場合は、合計については
BeforeShowRow
$flagCol1Hide = ($flagCol1Hide OR $Container->col1Value->GetValue() > 0);
$flagCol2Hide = ($flagCol2Hide OR $Container->col2Value->GetValue() > 0);
//etc
end
BeforeShow
// For the Grid (aka $Component in this case), with Panels as children
$Component->PanelCol1->Visible = !$flagCol1Hide;
$Container->PanelCol2->Visible = !$flagCol2Hide;
end
BeforeShowRowに自分の合計を含めて、BeforeShowの表示合計に追加することもできます。 (「合計でのシンプルレポート」のコードチャージヘルプを参照してください)。
@eratechさんへの返信ありがとうございますが、あなたのメソッドの例を表示できますか? 私は現在、レポートビルダーを使用しています(関数には合計が表示されているため)が、グリッドを試してみましたが、あなたが話しているAjax Hide Show関数ですか? –