Поиграв с примером кода для перетаскивания Telerik RadGrid, я не знаю, что делать дальше.
Вот что я хочу сделать. У меня есть одна сетка, в которой много строк, это моя исходная сетка. Я хочу иметь четыре пустых сетки, которые будут использоваться в качестве целей для этой заполненной исходной сетки. Теперь я хочу иметь возможность перетаскивать строку из исходной сетки и перетаскивать ее в любую из четырех целевых сеток.
У меня такой вопрос: кто-нибудь пробовал делать что-то удаленно подобное? До сих пор все примеры и потоки, за которыми я следил, похоже, имеют один источник для одного целевого сценария. Любые предложения, примеры или инструкции приветствуются.
Спасибо всем за ваше время.
Ответ 1 · Chris
Что ж, просмотрев фактические методы сетки 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. Из этого вы можете найти идентификаторы целевых сеток и с небольшой логикой разобраться, что вы собираетесь делать с удалением строки. Я уверен, что это может быть немного чище или эффективнее. Но я просто хотел передать эту информацию всем вам на случай, если вы когда-нибудь столкнетесь с подобным сценарием.