2015-03-03 3 views
0

Я пытаюсь создать сетку Telerik, где один из столбцов содержит кнопку, щелкнув ее, выполняет определенное действие. Это мое определение сетки в ASP:OnItemCommand не работает на сетке Telerik

<sq:Grid runat="server" CssClass="Master" ID="ReportGrid" DataSourceID="WorkPackageDS" 
      CellSpacing="0" GridLines="None" PageSize="100" AllowSorting="True" OnItemCommand="CancelWorkPackage_OnItemCommand" 
      AllowCustomPaging="True" AutoGenerateColumns="False" EnableViewState="False"> 

И это кнопка я добавил:

<sq:GridTemplateColumn FilterImageToolTip="סינון" HeaderText="ביטול חבילת עבודה" UniqueName="btnCancelWO"> 
    <ItemTemplate> 
    <asp:ImageButton runat="server" ID="btnCancel" ImageUrl="~/Shared Resources/imaes/tasksButton.png" 
        CommandName="CancelWO" CssClass="GridImageButton"> 
    </asp:ImageButton> 
    </ItemTemplate> 
</sq:GridTemplateColumn> 

«кв» только что-то в моей компании, но это означает, что объект Telerik , Это мой C# код функции:

public void CancelWorkPackage_OnItemCommand(object sender, GridCommandEventArgs e) 
    { 
     if (e.CommandName == "CancelWO") 
     { 
      if (e.Item is GridDataItem) 
      { 
       GridDataItem gridDataItem = e.Item as GridDataItem; 

       string WFGUI = gridDataItem.FindControl("GUI").ToString(); 
       int WorkflowInstanceId = Int32.Parse(gridDataItem.FindControl("fldIWfId").ToString()); 

       RoadsManager.Instance.CancelWorkPackage(WFGUI, WorkflowInstanceId); 
       RoadsManager.Instance.LogCancellation(new[] { WorkflowInstanceId }, CurrentActivityId, CurrentUserId); 
       SignManager.Instance.DownloadPermitsFromSSRS(WorkflowInstanceId, WorkflowAPI.Instance.GetWorkflowVariable<object>(WorkflowInstanceId, "ReportName").ToString()); 
       ShowAlert("חבילת עבודה ואישורים בוטלו בהצלחה", 400, 150, "הודעה חשובה"); 
      } 
     } 
    } 

я добавил точку останова в начале функции C# (если на) и программа даже не входит в функцию. Что я делаю неправильно? Может ли кто-нибудь дать мне совет, что изменить? Заранее спасибо

+0

Вы попробовали ** не ** установить 'EnableViewState' на' false'? – CyberDude

+0

Да, когда я удалил его (EnableViewState = "False"), ничего не произошло. –

+0

Итак, кнопка вызывает нормальную обратную передачу, и страница проходит через свой обычный жизненный цикл, но не вызывает обработчик событий? – CyberDude

ответ

0

Я изменил весь столбец от GridTemplateColumn до GridButtonColumn, и теперь он отлично работает.

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