Hi Team,
I have a grid and it has some rows in it. I am implementing batch editing for this grid. I am using the DLL Version of 2014.3.1216.45
I need to implement duplicate record checking for this grid.
we have compartment index column in the grid. When the user clicks on add new record and he enter one for compartment index and second time also if he enter one for the compartment index and click on save changes button that time we need to check the duplicate record validation.
currently this duplicate checking I am doing it on the "OnBatchEditCellValueChanging" event of the grid.
But I need this implementation when I click on save changes button.
Please see my code below.
<script type="text/javascript">
function valueChanging(sender, args) {
if (args.get_columnUniqueName() == "CompNo") {
var tableView = sender.get_masterTableView();
var batchManager = sender.get_batchEditingManager();
var items = tableView.get_dataItems();
var newValue = args.get_editorValue();
for (var i = 0; i < items.length; i++) {
var idCell = items[i].get_cell("CompNo");
var id = batchManager.getCellValue(idCell);
if (args.get_row() != items[i].get_element() && id == newValue) {
radconfirm(transMessages.SDP_ALERT_WHILE_UPDATE_LOAD_DETAIL, confirmCallBackFn);
}
}
}
}
</script>
<telerik:RadGrid ID="CompartmentLevelLoadRadGrid" runat="server" AutoGenerateColumns="false" CssClass="TransferGridPanel"
Height="233px" Width="475px" OnItemDataBound="CompartmentLevelLoadRadGrid_ItemDataBound" OnNeedDataSource="CompartmentLevelLoadingRadGrid_NeedDataSource"
OnBatchEditCommand="CompartmentLevelLoadRadGrid_BatchEditCommand" OnItemCreated="CompartmentLevelLoadRadGrid_ItemCreated">
<MasterTableView ShowHeadersWhenNoRecords="true" CommandItemDisplay="Top" EditMode="Batch" DataKeyNames="CompartmentIndex">
<CommandItemSettings ShowRefreshButton="false" AddNewRecordText="Add LineItem" />
<BatchEditingSettings EditType="Cell" />
<Columns>
<telerik:GridTemplateColumn HeaderText="Comp No." HeaderStyle-Width="30px" UniqueName="CompNo" DataField="CompartmentIndex">
<ItemTemplate>
<%# Eval("CompartmentIndex") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="ddlCompartment" OnLoad="ddlLoadCompartments" Width="50px" EmptyMessage="-Select-">
</telerik:RadComboBox>
<asp:RequiredFieldValidator ID="compartmentRequiredFieldValidator"
ControlToValidate="ddlCompartment" ErrorMessage="Compartment Required" runat="server" Display="Dynamic">
</asp:RequiredFieldValidator>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="PriorTo Load" HeaderStyle-Width="30px" UniqueName="PriorToLoad" DataField="PTL">
<ItemTemplate>
<%# Eval("PTL") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadNumerictextbox runat="server" ID="txtPTL" Width="50px" NumberFormat-DecimalDigits="0" NumberFormat-GroupSeparator="" MinValue="0" MaxValue="999999999">
</telerik:RadNumerictextbox>
<asp:RequiredFieldValidator ID="PTLRequiredFieldValidator"
ControlToValidate="txtPTL" ErrorMessage="PTL is Required" runat="server" Display="Dynamic">
</asp:RequiredFieldValidator>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Planned Product" HeaderStyle-Width="50px" UniqueName="PlannedLoadProd" DataField="PlannedProductName" ReadOnly="true" InsertVisiblityMode="AlwaysVisible">
<ItemTemplate>
<%# Eval("PlannedProductName") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="ddlPlannedProduct" OnLoad="ddlPlannedProductLoad" Width="70px" EmptyMessage="-Select-">
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="ActualProductName" HeaderText="Actual Product" UniqueName="ActualLoadProd" HeaderStyle-Width="50px" >
<ItemTemplate>
<%# Eval("ActualProductName") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="ddlActualProduct" OnLoad="ddlActualProductLoad" Width="70px">
</telerik:RadComboBox>
<asp:RequiredFieldValidator ID="actualProductValidator"
ControlToValidate="ddlActualProduct" ErrorMessage="ActualProd is Required" runat="server" Display="Dynamic">
</asp:RequiredFieldValidator>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="PlannedQuantity" HeaderText="Planned Quantity" UniqueName="PlannedLoadQty" HeaderStyle-Width="50px" ReadOnly="true" InsertVisiblityMode="AlwaysVisible">
<ItemTemplate>
<%# Eval("PlannedQuantity") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadNumerictextbox runat="server" ID="txtPlannedQuantity" Width="60px" NumberFormat-DecimalDigits="0" NumberFormat-GroupSeparator="" MinValue="0" MaxValue="999999999">
</telerik:RadNumerictextbox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="ActualQuantity" HeaderText="Actual Quantity" UniqueName="ActualLoadQty" HeaderStyle-Width="50px">
<ItemTemplate>
<%# Eval("ActualQuantity") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadNumerictextbox runat="server" ID="txtActualQuantity" Width="60px" NumberFormat-DecimalDigits="0" NumberFormat-GroupSeparator="" MinValue="0" MaxValue="999999999">
</telerik:RadNumerictextbox>
<asp:RequiredFieldValidator ID="actualQuantityValidator"
ControlToValidate="txtActualQuantity" ErrorMessage="ActualQty is Required" runat="server" Display="Dynamic">
</asp:RequiredFieldValidator>
</EditItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings>
<ClientEvents OnBatchEditCellValueChanging="valueChanging" />
</ClientSettings>
</telerik:RadGrid>
Regards,
Sudhakar.
I have a grid and it has some rows in it. I am implementing batch editing for this grid. I am using the DLL Version of 2014.3.1216.45
I need to implement duplicate record checking for this grid.
we have compartment index column in the grid. When the user clicks on add new record and he enter one for compartment index and second time also if he enter one for the compartment index and click on save changes button that time we need to check the duplicate record validation.
currently this duplicate checking I am doing it on the "OnBatchEditCellValueChanging" event of the grid.
But I need this implementation when I click on save changes button.
Please see my code below.
<script type="text/javascript">
function valueChanging(sender, args) {
if (args.get_columnUniqueName() == "CompNo") {
var tableView = sender.get_masterTableView();
var batchManager = sender.get_batchEditingManager();
var items = tableView.get_dataItems();
var newValue = args.get_editorValue();
for (var i = 0; i < items.length; i++) {
var idCell = items[i].get_cell("CompNo");
var id = batchManager.getCellValue(idCell);
if (args.get_row() != items[i].get_element() && id == newValue) {
radconfirm(transMessages.SDP_ALERT_WHILE_UPDATE_LOAD_DETAIL, confirmCallBackFn);
}
}
}
}
</script>
<telerik:RadGrid ID="CompartmentLevelLoadRadGrid" runat="server" AutoGenerateColumns="false" CssClass="TransferGridPanel"
Height="233px" Width="475px" OnItemDataBound="CompartmentLevelLoadRadGrid_ItemDataBound" OnNeedDataSource="CompartmentLevelLoadingRadGrid_NeedDataSource"
OnBatchEditCommand="CompartmentLevelLoadRadGrid_BatchEditCommand" OnItemCreated="CompartmentLevelLoadRadGrid_ItemCreated">
<MasterTableView ShowHeadersWhenNoRecords="true" CommandItemDisplay="Top" EditMode="Batch" DataKeyNames="CompartmentIndex">
<CommandItemSettings ShowRefreshButton="false" AddNewRecordText="Add LineItem" />
<BatchEditingSettings EditType="Cell" />
<Columns>
<telerik:GridTemplateColumn HeaderText="Comp No." HeaderStyle-Width="30px" UniqueName="CompNo" DataField="CompartmentIndex">
<ItemTemplate>
<%# Eval("CompartmentIndex") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="ddlCompartment" OnLoad="ddlLoadCompartments" Width="50px" EmptyMessage="-Select-">
</telerik:RadComboBox>
<asp:RequiredFieldValidator ID="compartmentRequiredFieldValidator"
ControlToValidate="ddlCompartment" ErrorMessage="Compartment Required" runat="server" Display="Dynamic">
</asp:RequiredFieldValidator>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="PriorTo Load" HeaderStyle-Width="30px" UniqueName="PriorToLoad" DataField="PTL">
<ItemTemplate>
<%# Eval("PTL") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadNumerictextbox runat="server" ID="txtPTL" Width="50px" NumberFormat-DecimalDigits="0" NumberFormat-GroupSeparator="" MinValue="0" MaxValue="999999999">
</telerik:RadNumerictextbox>
<asp:RequiredFieldValidator ID="PTLRequiredFieldValidator"
ControlToValidate="txtPTL" ErrorMessage="PTL is Required" runat="server" Display="Dynamic">
</asp:RequiredFieldValidator>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Planned Product" HeaderStyle-Width="50px" UniqueName="PlannedLoadProd" DataField="PlannedProductName" ReadOnly="true" InsertVisiblityMode="AlwaysVisible">
<ItemTemplate>
<%# Eval("PlannedProductName") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="ddlPlannedProduct" OnLoad="ddlPlannedProductLoad" Width="70px" EmptyMessage="-Select-">
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="ActualProductName" HeaderText="Actual Product" UniqueName="ActualLoadProd" HeaderStyle-Width="50px" >
<ItemTemplate>
<%# Eval("ActualProductName") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="ddlActualProduct" OnLoad="ddlActualProductLoad" Width="70px">
</telerik:RadComboBox>
<asp:RequiredFieldValidator ID="actualProductValidator"
ControlToValidate="ddlActualProduct" ErrorMessage="ActualProd is Required" runat="server" Display="Dynamic">
</asp:RequiredFieldValidator>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="PlannedQuantity" HeaderText="Planned Quantity" UniqueName="PlannedLoadQty" HeaderStyle-Width="50px" ReadOnly="true" InsertVisiblityMode="AlwaysVisible">
<ItemTemplate>
<%# Eval("PlannedQuantity") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadNumerictextbox runat="server" ID="txtPlannedQuantity" Width="60px" NumberFormat-DecimalDigits="0" NumberFormat-GroupSeparator="" MinValue="0" MaxValue="999999999">
</telerik:RadNumerictextbox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="ActualQuantity" HeaderText="Actual Quantity" UniqueName="ActualLoadQty" HeaderStyle-Width="50px">
<ItemTemplate>
<%# Eval("ActualQuantity") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadNumerictextbox runat="server" ID="txtActualQuantity" Width="60px" NumberFormat-DecimalDigits="0" NumberFormat-GroupSeparator="" MinValue="0" MaxValue="999999999">
</telerik:RadNumerictextbox>
<asp:RequiredFieldValidator ID="actualQuantityValidator"
ControlToValidate="txtActualQuantity" ErrorMessage="ActualQty is Required" runat="server" Display="Dynamic">
</asp:RequiredFieldValidator>
</EditItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings>
<ClientEvents OnBatchEditCellValueChanging="valueChanging" />
</ClientSettings>
</telerik:RadGrid>
Regards,
Sudhakar.