0

ajaxtoolkit CollapsiblePanelExtender を使用する asp Panel 内に Telerik RadHtmlChart があります。

チャートとデータバインドにデータソースを割り当てたときにパネルが折りたたまれている場合、パネルを展開した後、チャートは左から右にパネル サイズの 1/2 しか表示されません。パネルを展開し、データバインド中にグラフを表示すると、期待どおりにパネルがいっぱいになります。

どういうわけか、パネルがいつ拡張されたかを知り、チャートのサイズを変更/再描画して、パネル内の利用可能なスペースを埋めるように指示する必要がありますが、これまでのところ、これを行う喜びはありません.

または、コントロールに見逃したフラグ/プロパティがあり、パネルが折りたたまれている場合でもチャートが利用可能なスペースを埋めるのに役立ちます。

私は C# コード ビハインドで作業したいと考えていますが、javascript/jquery ソリューションも高く評価されています。

ありがとう、

-リコ

4

1 に答える 1

0

HtmlChart はクライアントでレンダリングされるため、JavaScript を使用する必要があります。コンテナーのサイズが変更されたときにチャートのサイズを変更する方法は次のとおりです: http://www.telerik.com/support/code-library/radhtmlchart-in-a-responsive-web-page。基本的に - div コンテナーが目的のサイズであることを確認し、その repaint() メソッドを呼び出します。

CollapsiblePanel のクライアント側イベントに接続する方法は次のとおりです: http://forums.asp.net/t/1112899.aspx?How+to+track+Collapse+Expand+event+of+AJAX+Collapsible+ Panel+Extender+to+call+javascript+ 少しトリッキーで、クライアント側のコード (add_expandComplete(theHandlerFunctionObject) と add_collapseComplete(theHandlerFunctionObject) の後に CollapsiblePanel のクライアント側オブジェクトを取得した後) を追加する必要があります。

もちろん、自分で展開/折りたたみをトリガーする場合は、ロジックに応じて、必要なスクリプトを呼び出すだけで済みます。既存のクライアント側ハンドラーに追加するか、サーバーから登録します。

于 2014-10-28T14:34:14.253 に答える