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

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

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

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

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


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


Ответы (1)


arrow_upward
0
arrow_downward

Что ж, просмотрев фактические методы сетки 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