2009-09-23 3 views
0

Telerik RadGrid의 끌어서 놓기 기능에 대한 예제 코드로 재생 한 후 다음에 수행 할 작업이 손실됩니다.Telerik Grid - One Source Multiple Targets

내가 원했던 바는 다음과 같습니다. 많은 행이 채워진 하나의 표가 있는데, 이것은 내 소스 표입니다. 이 채워진 소스 그리드의 대상으로 사용될 빈 네 개의 그리드가 필요합니다. 이제는 소스 그리드에서 행을 드래그하여 네 개의 대상 그리드 중 하나에 드롭 할 수 있기를 원합니다.

내 질문은 다음과 같습니다. 누구나 원격으로 이와 같은 작업을 시도 했습니까? 지금까지 내가 따라 왔던 모든 예제와 쓰레드는 하나의 목표 시나리오를 가진 것처럼 보인다. 어떤 제안, 예제 또는 방법이 크게 환영받을 것입니다.

감사합니다.

답변

0

Telerik 그리드의 실제 방법을 살펴본 후 삭제 된 행이 어디로 가고 어떻게 작동하는지 확인하는 방법을 찾았습니다. 제가 말하고자하는 것을 demostrate하기 위해 다음의 간단한 코드를 포함하고 있습니다. 찾기 위해

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이 작은 보석이다. 이것으로 목표 그리드의 ID를 찾을 수 있으며, 약간의 로직을 사용하여 행을 삭제할 때 수행 할 작업을 분류 할 수 있습니다. 나는 이것이 조금 더 깨끗하거나 더 효과적 일 수 있다고 확신한다. 하지만이 같은 유형의 시나리오를 반대하는 경우에 대비하여이 정보를 모두에게 전달하고 싶었습니다.