Telerik Grid — один источник, несколько целей

Поиграв с примером кода для перетаскивания Telerik RadGrid, я не знаю, что делать дальше.

Вот что я хочу сделать. У меня есть одна сетка, в которой много строк, это моя исходная сетка. Я хочу иметь четыре пустых сетки, которые будут использоваться в качестве целей для этой заполненной исходной сетки. Теперь я хочу иметь возможность перетаскивать строку из исходной сетки и перетаскивать ее в любую из четырех целевых сеток.

У меня такой вопрос: кто-нибудь пробовал делать что-то удаленно подобное? До сих пор все примеры и потоки, за которыми я следил, похоже, имеют один источник для одного целевого сценария. Любые предложения, примеры или инструкции приветствуются.

Спасибо всем за ваше время.


person Chris    schedule 23.09.2009    source источник


Ответы (1)


Что ж, просмотрев фактические методы сетки Telerik, я нашел способ определить, куда будет идти отброшенная строка и как с этим работать. Я включаю следующий простой код, чтобы продемонстрировать, о чем я говорю.

protected void uxSourceGrid_RowDrop(object sender, 
               Telerik.Web.UI.GridDragDropEventArgs e)
{
    for (int i = 0; i < e.DraggedItems.Count; i++)
    {
        if (e.DestinationGrid.ID == uxRequiredDateGrid.ID)
        {
            SqlDataSource3.UpdateCommand = 
                  "UPDATE Orders SET RequiredDate = 
                   current_timestamp WHERE OrderID =" +
                   e.DraggedItems[i].GetDataKeyValue("OrderID");
            SqlDataSource3.Update();
            uxRequiredDateGrid.Rebind();
        }
        else
        {
            SqlDataSource1.UpdateCommand = 
                  "update orders set shippeddate = 
                   current_timestamp where orderid =" +
                   e.DraggedItems[i].GetDataKeyValue("OrderID");
            SqlDataSource1.Update();
            uxSourceGrid.Rebind();
        }
    }
}

Важная часть, на которую стоит обратить внимание, — это маленькая жемчужина e.DestinationGrid.ID. Из этого вы можете найти идентификаторы целевых сеток и с небольшой логикой разобраться, что вы собираетесь делать с удалением строки. Я уверен, что это может быть немного чище или эффективнее. Но я просто хотел передать эту информацию всем вам на случай, если вы когда-нибудь столкнетесь с подобным сценарием.

person Chris    schedule 25.09.2009