Hi,
I have an issue with javascript fireCommand while firing "PerformInsert" and "Update". It fires the Grids ItemCommand but doesn't pass the Command name to my ItemCommand event handler. Here is the code snippet -
Here are the scripts (javascripts) below used to fire
here is my ItemCommand handler
all the above commands are invoked using client side fireCommand and all "Edit", "InitInsert", and "Cancel" are working but when firing "PerformInsert" I am unable to get the Commandname in e.CommandName as a result my switch is not working.
I have an issue with javascript fireCommand while firing "PerformInsert" and "Update". It fires the Grids ItemCommand but doesn't pass the Command name to my ItemCommand event handler. Here is the code snippet -
<telerik:RadGrid ID="radVehicles" runat="server" AutoGenerateColumns="false" EnableViewState="true" PagerStyle-AlwaysVisible="true" GridLines="None" AllowSorting="true" AllowPaging="true" AllowAutomaticUpdates="false" AllowMultiRowEdit="false" CellSpacing="0" PageSize="10" AllowFilteringByColumn="false" OnNeedDataSource="Vehicles_OnNeedDataSource" OnCancelCommand="ConvertVehicles_OnCancelCommand" OnItemDataBound="Vehicles_OnItemDataBound" OnItemCommand="Vehicles_OnItemCommand"> <PagerStyle PageButtonCount="5" PagerTextFormat="{4}Total Rows: {5}" AlwaysVisible="true" /> <MasterTableView DataKeyNames="VehiclesID, Active" ClientDataKeyNames="VehiclesID, Active"> <NoRecordsTemplate> <p style="text-align: center;"> No record(s) found ! </p> </NoRecordsTemplate> <Columns> <telerik:GridBoundColumn DataField="VehiclesID" UniqueName="VehiclesID" HeaderText="#" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="LicensePlate" UniqueName="LicensePlate" HeaderText="License Plate"></telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="State" HeaderText="State" DataField="State"></telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Action" ItemStyle-Width="10%" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" UniqueName="Action"> <ItemTemplate> <asp:ImageButton AlternateText="ContextMenu" ID="ContextMenuButton" ImageUrl="~/Images/chart-expended-arrow-90.png" runat="server" /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> <EditFormSettings EditFormType="Template"> <FormTemplate> <div class="tableInside"> <div class="tableW"> <div class="trW" style="display:none;"> <div class="tdColumn-left"> Vehicle ID </div> <div class="tdColumn-right"> <asp:Label runat="server" ID="lblVehiclesID" Text='<%# Eval("VehiclesID") %>'></asp:Label> </div> </div> <div class="trW"> <div class="tdColumn-left"> License Plate </div> <div class="tdColumn-right"> <telerik:RadTextBox ID="txtLicensePlate" Text='<%# Eval("LicensePlate") %>' runat="server"></telerik:RadTextBox> </div> </div> </div> <div class="tableW"> <div class="trW"> <div class="tdColumn-left"> License Plate </div> <div class="tdColumn-right"> </div> </div> </div> <div class="trRow" style="text-align: center; margin-top: 5px;"> <telerik:RadButton ID="btnCancelVehicles" Text="Cancel" AutoPostBack="false" OnClientClicked="btnCancelVehicles_OnClientClicked" runat="server" CssClass="black" Icon-PrimaryIconUrl="~/Images/cancel1.png"> </telerik:RadButton> <telerik:RadButton ID="btnSaveVehicles" runat="server" Text="Save" CausesValidation="true" ValidationGroup="AllSave" CssClass="save" AutoPostBack="true" OnClientClicked="btnSaveVehicles_OnClientClicked" Icon-PrimaryIconCssClass="iconSave"> </telerik:RadButton> </div> </div> </FormTemplate> </EditFormSettings> </MasterTableView></telerik:RadGrid> function btnSaveVehicles_OnClientClicked(sender, eventArgs) { var _tempGridMaster = $find("<%=radVehicles.ClientID %>").get_masterTableView(); var _lblConvertVehiclesVal = $("#<%=lblVehiclesItemIndex.ClientID %>").html(); if (_lblConvertVehiclesVal != "") { ConvertVehiclesRowIndex = parseInt(_lblConvertVehiclesVal); } else { ConvertVehiclesRowIndex = -1; } if (Page_IsValid) { if (ConvertVehiclesRowIndex == -1) { _tempGridMaster.fireCommand("PerformInsert", ""); } else { _tempGridMaster.fireCommand("Update", ConvertVehiclesRowIndex); } } }here is my ItemCommand handler
protected void Vehicles_OnItemCommand(object sender, GridCommandEventArgs e) { switch (e.CommandName) { case "Edit": lblConvertVehiclesItemIndex.InnerHtml = e.Item.ItemIndex.ToString(); e.Item.OwnerTableView.IsItemInserted = false; BindConvertVehiclesData(); break; case "InitInsert": radConvertVehicles.MasterTableView.ClearEditItems(); BindConvertVehiclesData(); break; case "Cancel": e.Item.OwnerTableView.IsItemInserted = false; BindConvertVehiclesData(); break; case "PerformInsert":all the above commands are invoked using client side fireCommand and all "Edit", "InitInsert", and "Cancel" are working but when firing "PerformInsert" I am unable to get the Commandname in e.CommandName as a result my switch is not working.