OnItemCommand 不适用于 Telerik 网格
OnItemCommand Doesn't Work on Telerik Grid
我正在尝试创建一个 Telerik 网格,其中一列包含一个按钮,单击该按钮可执行特定操作。
这是我在 ASP:
中定义的网格
<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>
"sq"只是我公司的东西,不过是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# 函数的开头(在 if 上)添加了断点,程序甚至没有进入该函数。
我究竟做错了什么?
谁能给我提示要更改什么?
提前谢谢你
我将整个列从 GridTemplateColumn 更改为 GridButtonColumn,现在它工作正常。
我正在尝试创建一个 Telerik 网格,其中一列包含一个按钮,单击该按钮可执行特定操作。 这是我在 ASP:
中定义的网格<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>
"sq"只是我公司的东西,不过是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# 函数的开头(在 if 上)添加了断点,程序甚至没有进入该函数。 我究竟做错了什么? 谁能给我提示要更改什么? 提前谢谢你
我将整个列从 GridTemplateColumn 更改为 GridButtonColumn,现在它工作正常。