2012-05-24 3 views
1

Я пытаюсь создать такую ​​форму, как форма ввода данных, и у меня есть сетка на «2-й странице», которая заполняется на основе значений на первой странице.Telerik MVC Grid Заполнение по запросу

Ex:

Page 1: выпадающим компаний, выберите CompanyID

Page 2: Сетка заполняется на основе CompanyID из Page1

Оба Page1 и Page2 действительно 2 DIV метки на на той же странице. Я пытаюсь выяснить, как не загружать сетку, пока я не перейду на страницу 2 или не смогу получить действительный CompanyId.

Как получить сетку Ajax MVC в 1. Не выполняете ли сетка вызов Select() Ajax при загрузке? 2. Получить сетку для вызова Выбрать по требованию с помощью jquery?

+0

Вас интересует только подход javascript? Я думаю, что это может быть также рассмотрено с частичными представлениями. – Igorrious

+0

Да, просто javascript. У меня уже есть сетка в частичном виде. – Brian

ответ

5

Попробуйте следующее:

Добавить JavaScript на страницу:

<script type="text/javascript"> 
var initialLoad = true; 
function Grid_onDataBinding(e) { 
    if (initialLoad) { 
     e.preventDefault(); 
     initialLoad = false; 
    } 
} 

function RefreshGrid() { 
    var grid = $("#TestGrid").data("tGrid"); // Modify the grid ID to your own!!! 
    grid.ajaxRequest(); 
} 
</script> 

Зарегистрируйте следующую сторону клиента событие, чтобы предотвратить сетку от привязки данных на начальной загрузке.

.ClientEvents(events => events.OnDataBinding("Grid_onDataBinding")) 

Затем вызовите функцию RefreshGrid() где-нибудь на странице, чтобы восстановить сетку.

<input type="button" value="Refresh Grid" onclick="RefreshGrid()" /> 

Подробнее можно найти на сайте документации Telerik. http://www.telerik.com/help/aspnet-mvc/telerik-ui-components-grid-client-api-and-events.html

+0

Еще 1 или 2 часа, сохраненные с помощью StackOverflow и замечательных парней, подобных вам. :) – Samuel

+0

Что делает текст в данных («tGrid»)? как это установить? – SomeRandomDeveloper

Смежные вопросы