Telerik MVC Chart ClientEvents.OnDataBinding

Я хочу показать результат опроса по конкретному вопросу опроса. Когда был выбран список вопросов, я хочу связать свою диаграмму с запросом в соответствии с выбранным questionId.

Итак, мой план был; 1. получить questionId из выбранной строки вопроса. все в порядке.

  1. определение события ClientEvents.OndataBinding на моем графике. Так что я смогу передать questionId с;

    функция onChartDataBinding (e) { e.data = $ .extend (e.data, {questionId: questionId}); }

  2. с использованием $ ('# ChartPollResults'). Data ('tChart'). Rebind (); для события выбора строки сетки списка вопросов.

Этот сценарий работает, когда у меня есть вторая привязка сетки согласно первой выбранной сетке строки. Но похоже, что в элементе управления диаграммой нет события ClientEvents.OnDataBinding. И метод « rebind () » не поддерживается в элементе управления Chart.

Используемый мной элемент управления диаграммой приведен ниже.

@(Html.Telerik().Chart<QuestionResult>()
                            .Theme("WebBlue")
                            .Name("ChartPollResults")
                            .Title("Poll Question Choice Number vs. Choice Count")
                            .Legend(legend => legend.Position(ChartLegendPosition.Bottom))
                            .Series(series =>
                            {
                                series.Bar("ChoseCount").Name("Choice Count").Gap(5);
                            })
                            .CategoryAxis(axis => axis.Categories(o => o.ChoiceNumber))

                            .DataBinding(dataBinding => dataBinding.Ajax().Select("_PollResultChartBinding", "Poll", new { questionId = 0 }))
                            .HtmlAttributes(new { style = "width: %100px; height: 270px" })
                    )

Метод привязки My Controller;

public ActionResult _PollResultChartBinding(int questionId = 0)
{
            //questionId = 3;
            if (!ModelState.IsValid || questionId == 0)
                return Json(new List<QuestionResult>());

            PollQuestionDefinition pollQuestion = service.Get(questionId);
            List<PollAnswer> pollAnswers = service.GetPollAnswersByQuestion(questionId);
            PollQuestionResultUI result = new PollQuestionResultUI(pollQuestion, pollAnswers);

            return Json(result.Results);
}

Когда я закомментировал // questionId = 3; строка Я могу без проблем увидеть результаты для вопроса с Id = 3 на диаграмме.

Но я не могу передать questionId в диаграмму.

Заранее спасибо.

5
задан tereško 5 July 2013 в 10:11
поделиться