Hi,
I have a RadGrid in batch mode that contains a RadComboBox inside the EditTemplate. If I change the options checked inside the ComboBox, in the first row, those changes persist in the following rows in editmode, even when I´m assigning different checks inside each of the rows in client side scripts. SO for example if I uncheck the option for XML, PDF and HTM in the combobox in the first row, and then I try to edit the second row, those options are uncheck, when they should be check, since is a new row, and I'm initializing the combobox values with a hiddenfield.
Grid
JS
I have a RadGrid in batch mode that contains a RadComboBox inside the EditTemplate. If I change the options checked inside the ComboBox, in the first row, those changes persist in the following rows in editmode, even when I´m assigning different checks inside each of the rows in client side scripts. SO for example if I uncheck the option for XML, PDF and HTM in the combobox in the first row, and then I try to edit the second row, those options are uncheck, when they should be check, since is a new row, and I'm initializing the combobox values with a hiddenfield.
Grid
<telerik:GridTemplateColumn HeaderText="File Prefix" HeaderStyle-Width="280px" UniqueName="Fileprefix"> <ItemTemplate> <asp:Label runat="server" ID="lbChapterFilePrefix">Prefix</asp:Label> (<asp:Label runat="server" ID="lblFileTypeXML">xml</asp:Label>, <asp:Label runat="server" ID="lblFileTypePDF">pdf</asp:Label>, <asp:Label runat="server" ID="lblFileTypeHTM">html</asp:Label>) <asp:HiddenField runat="server" ID="hdCurrentFileTypes" /> </ItemTemplate> <EditItemTemplate> <asp:Label runat="server" ID="lbFilePrefix">prefix</asp:Label> <telerik:RadComboBox Skin="Outlook" runat="server" ID="cbFileType" CheckBoxes="true" AllowCustomText="false" CheckedItemsTexts="DisplayAllInInput" > <Items> <telerik:RadComboBoxItem Text="xml" Value="xml" /> <telerik:RadComboBoxItem Text="pdf" Value="pdf" /> <telerik:RadComboBoxItem Text="htm" Value="htm" /> </Items> </telerik:RadComboBox> </EditItemTemplate> </telerik:GridTemplateColumn>JS
<script type="text/javascript" language="javascript"> function SaveGridChanges(sender, args) { var grid = $find("<%= rgBookManagement.ClientID %>"); grid.get_batchEditingManager().saveChanges(grid.get_masterTableView()); } function GetCellValue(sender, args) { if (args.get_columnUniqueName() === "Fileprefix") { args.set_cancel(true); var container = args.get_container(); //debugger; var chapterPrefix = $telerik.findElement(container, "lbChapterFilePrefix").innerHTML; var isFileTypeXML = ($telerik.findElementcontainer, "hdCurrentFileTypes").value.toLowerCase().indexOf("xml") >= 0 ? true : false); var isFileTypePDF = ($telerik.findElement(container, "hdCurrentFileTypes").value.toLowerCase().indexOf("pdf") >= 0 ? true : false); var isFileTypeHTM = ($telerik.findElement(container, "hdCurrentFileTypes").value.toLowerCase().indexOf("htm") >= 0 ? true : false); args.set_value(new Prefix(chapterPrefix, isFileTypeXML, isFileTypePDF, isFileTypeHTM)); } } function SetCellValue(sender, args) { if (args.get_columnUniqueName() === "Fileprefix") { args.set_cancel(true); var container = args.get_container(); value = args.get_value(), isFileTypeXML = value.isFileTypeXML, isFileTypePDF = value.isFileTypePDF isFileTypeHTM = value.isFileTypeHTM; //debugger; $telerik.findElement(container, "lblFileTypeXML").style.color = (isFileTypeXML == true ? 'black' : 'red'); $telerik.findElement(container, "lblFileTypePDF").style.color = (isFileTypePDF == true ? 'black' : 'red'); $telerik.findElement(container, "lblFileTypeHTM").style.color = (isFileTypeHTM == true ? 'black' : 'red'); } } function GetEditorValue(sender, args) { if (args.get_columnUniqueName() === "Fileprefix") { args.set_cancel(true); var container = args.get_container(); var combo = $telerik.findControl(container, "cbFileType"); isFileTypeXML = combo.get_items().getItem(0).get_checked(); isFileTypePDF = combo.get_items().getItem(1).get_checked(); isFileTypeHTM = combo.get_items().getItem(2).get_checked(); //debugger; chapterPrefix = $telerik.findElement(container, "lbFilePrefix").innerHTML; args.set_value(new Prefix(chapterPrefix, isFileTypeXML, isFileTypePDF, isFileTypeHTM)); } } function SetEditorValue(sender, args) { if (args.get_columnUniqueName() === "Fileprefix") { args.set_cancel(true); var container = args.get_container(); var value = args.get_value(); chapterPrefix = value.chapterPrefix, isFileTypeXML = value.isFileTypeXML, isFileTypePDF = value.isFileTypePDF, isFileTypeHTM = value.isFileTypeHTM; $telerik.findElement(container, "lbFilePrefix").innerHTML = chapterPrefix; var combo = $telerik.findControl(args.get_container(), "cbFileType"); combo.trackChanges(); //debugger; //Check Fields combo.get_items().getItem(0).set_checked(isFileTypeXML == true); combo.get_items().getItem(1).set_checked(isFileTypePDF == true); combo.get_items().getItem(2).set_checked(isFileTypeHTM == true); combo.commitChanges(); } } var Prefix = function (chapterPrefix, isFileTypeXML, isFileTypePDF, isFileTypeHTM) { this.chapterPrefix = chapterPrefix; this.isFileTypeXML = isFileTypeXML; this.isFileTypePDF = isFileTypePDF; this.isFileTypeHTM = isFileTypeHTM; }</script>