Когда панель ASP расширяется через CollapsiblePanelExtender, telerik radhtmlchart становится меньше

У меня есть Telerik RadHtmlChart внутри панели asp, которая использует ajaxtoolkit CollapsiblePanelExtender.

Если панель свернута, когда я назначаю источник данных для диаграммы и привязки данных, после расширения панели диаграмма заполняет только половину размера панели слева направо. Если у меня развернута панель и диаграмма видна во время привязки данных, она заполняет панель полностью, как и ожидалось.

Каким-то образом мне нужно знать, когда панель расширилась, и сказать диаграмме, чтобы она изменила размеры / перекрасила и заполнила доступное пространство на панели, но пока что нет никакой радости от этого.

Или, возможно, на моих элементах управления есть флаг / свойство, которое я пропустил, что помогло бы диаграмме заполнить доступное пространство, даже когда панель свернута.

Я бы предпочел работать в коде C# позади, но решения javascript/jquery также приветствуются.

Спасибо,

-Rico

1 ответ

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 есть объект.

Конечно, если вы запускаете развертывание / свертывание самостоятельно, вы можете просто вызвать необходимый сценарий, в зависимости от вашей логики - либо добавить его в уже существующий обработчик на стороне клиента, либо зарегистрировать его на сервере.

Другие вопросы по тегам