iSeller Commerce
iSeller POS Retail
iSeller POS F&B
iSeller POS Express
Crosslight
WebUI
ClientUI
What's New
Download Trial
Web Solution
Mobile Solution
Enterprise Solution
Custom Development
Blog
Community
Latest Development Blogs
ForumPostTopic
Browse By Tag
Well, I have some good news. While I was preparing for recording the problem I found that it has been fixed in the latest update. I had run the Update Manager this morning and updated to the latest and whatever you guys did, fixed this issue.
The assigned IDs to the Template controls are now synced up correctly AFTER the grid rows are retrieved as in the code below:
foreach (ISNet.WebUI.WebGrid.WebGridRow row in oRows) { iRows++; ISNet.WebUI.WebGrid.WebGridCellTemplateContainer container = row.Cells[0].GetTemplateContainer(); PrismCheckBox cb = (PrismCheckBox)container.FindControl(PRISMConstants.PrismGridView.EmbeddedCheckBoxId); ...
So now the initial assigned ID to the Template control is retrieved correctly, e.g., the cb object in the above code reflects the assigned ID. So when the ids initially are 00, 03, 06, etc., then the Rows collection shows the cb.ClientID as 00, 03, 06 correctly rather than 00, 01, 02 incorrectly as it was doing earlier.
Now you can say it's resolved, but it was definitely a bug because it did not behave this way prior to the update I applied this morning.
I'd love to if I could. You wouldn't have to ask as I would have already done so. But I really can't since the grid control is modified by us, i.e., customized and works within our environment. But like I said, we've only modified the server-side code that creates the columns and formats them, so I don't know why that would impact your embedded JavaScript.
Here's basically what we override (keep in mind that this all worked fine with WebGrid 6 and only a problem after we upgraded to v7):
That's pretty much it.
You obviously do not understand what I have described in detail. I NEVER said I wanted the same conrol ID or numbering for anything. I just want the dang thing to work consistently like I've already described in detail.
I made a point of stating the difference between when the page first renders and when it post back. Please reread my detailed information slowly and get an understanding of the problem. Your response obviously shows that you still do not understand the issue and I have no more to add to it than I already have.
I'll see about recording a flash video of the issue being debugged since explaining seems to be too complicated.
Don't respond in a condescending manner and you'll get a polite response. It's very frustrating on this end when you do not respond with helpful information aside from "well it works in our samples then it must be not be a bug" type of answer.
We're running into real life usage of your product that are producing problems that are difficult to get over and we need your help. So please try to understand my frustration with that type of response. Thanks.
Based on TemplatedCell sample (included in WebGrid C# samples), the ControlID numbering worked fine in both first load and postback. The sample used two templated cells, and if you notice, the ID is consistently incremented based on the cell-to-row order. As told earlier, the internal ID is maintaned automatically by ASP.NET, and the numbering sequence relies on when the template is actually created and added to the page collection. In this case, the templates are created on all cells in a row first, then the next row. Thus, it's clear that this issue wasn't a bug, unless there's scenario where the ID is generated inconsistently.
Based on TemplatedCell sample (included in WebGrid C# samples), the ControlID numbering worked fine in both first load and postback. The sample used two templated cells, and if you notice, the ID is consistently incremented based on the cell-to-row order.
As told earlier, the internal ID is maintaned automatically by ASP.NET, and the numbering sequence relies on when the template is actually created and added to the page collection. In this case, the templates are created on all cells in a row first, then the next row.
Thus, it's clear that this issue wasn't a bug, unless there's scenario where the ID is generated inconsistently.
The problem is not resolved, and I'm still able to reproduce the inconsistent numbering issue.
[Edited 10/26 per EULA, please respond politely and be constructive.]
...Per your reply, it also appears that the Reset issue wasn't an issue and thus the issue will be considered resolved. Thannk you.
I said I didn't run into the issue with the BASIC sample I provided. How does that resolve the issue in our custom grid? We don't do anything with your embedded JavaScript that's causing this error.
I've provided very detailed info in that you can easily create your own sample. It should take you 5-10 minutes to duplicate this.
This issue has been resolved. The license I was given was for the wrong version of the grid, i.e., v6. Unfortunately, the license manager doesn't distinguish between the two and showed the license as valid even though it isn't.
I did create a sample page with a grid on it and had no issues with the reset. I did however notice a new problem with the grid and that's the columns alignment was off. You should be able to duplicate it by loading the grid and then hitting the "Refersh grid data" button or any column action like sorting, best fit, etc..
I've attached the sample project plus the two images of the column alignment issue.
Are there any particular settings you're looking for? There are many setting and am not sure which ones to provide. Why would the settings cause an internal javascript error like this? In the future, please be as detailed as possible with what you need since it takes you a long time to respond to us in the US due to the time difference.
I've provided our default skin file setting for the grid below. I'm not sure if that will help but it's a start I guess.
<PRISM:PrismGridView runat="server" Height="100%" Width="100%" PadRows="0"> <LayoutSettings AllowAddNew="No" AllowColumnFreezing="No" AllowColumnMove="Yes" AllowColumnSizing="Yes" AllowContextMenu="true" AllowDelete="No" StatusBarVisible="true" AllowEdit="No" AllowSelectColumns="Yes" AllowSorting="No" AllowExport="Yes" PagingSize="10" PagingMode="VirtualLoad" VirtualLoadMode="LargeData" VirtualPageSize="100" Hierarchical="false" AutoFitColumns="true" GridLines="Vertical" PersistRowChecker="true" RowHeaders="No" AutoHeight="false" AutoWidth="false" RowHeightDefault="-1px" AlternatingColors="true" UseRelativePositioning="true" GridLineColor="236, 233, 216" AlwaysShowHelpButton="false" ColumnFooterAggregateMode="CalculateAllData" > <CheckedRowStyle CssClass="GridSelectedRow"></CheckedRowStyle> <FrameStyle BackColor="White" BorderColor="DarkGray" BorderStyle="none" BorderWidth="0px"> </FrameStyle> <GroupByBox> <Style CssClass="GridGroupByBox"></Style> <LabelStyle CssClass="GridGroupByBoxLabel"/> </GroupByBox> <GroupRowInfoStyle BackColor="#F1EFE2" BorderColor="White" BorderStyle="Solid" BorderWidth="1px" CustomRules="border-bottom-color: Silver; border-right-color: Silver" Font-Names="Verdana" Font-Size="8pt" font-bold="True" forecolor="#676896"> <BorderSettings> <Bottom Color="144, 145, 182" Width="2px" /> <Right Color="Silver" /> </BorderSettings> </GroupRowInfoStyle> <AlternatingRowStyle CssClass="GridAlternatingRow" Wrap="true"/> <FocusCellStyle BorderColor="DimGray" BorderStyle="Solid" BorderWidth="1px" /> <RowStyle CssClass="GridRow" Wrap="true" /> <SelectedRowStyle CssClass="GridSelectedRow"/> <HeaderStyle CssClass="GridHeader"> <Padding Bottom="4px" Left="2px" Right="2px" Top="4px" /> <BorderSettings> <Bottom Color="183, 184, 211" Width="1px" /> </BorderSettings> </HeaderStyle> <FooterStyle CssClass="GridFooter" /> <StatusBarStyle CssClass="GridStatusBar"> </StatusBarStyle> </LayoutSettings> <CustomEditors> <ISWebGrid:WebGridCustomEditor ControlType="DHTMLClientControl" JavascriptFiles="Calculator.js" Name="Calculator" Persistence="DesignerLevel" ScriptFolder="EditorsPack1"> <Behavior DropdownButtonImageFile="CalcDD.gif" HasDropdownButton="True" /> </ISWebGrid:WebGridCustomEditor> <ISWebGrid:WebGridCustomEditor ControlType="DHTMLClientControl" JavascriptFiles="NumericUpDown.js" Name="NumericUpDown" Persistence="DesignerLevel" ScriptFolder="EditorsPack1"> <Behavior HasDropdownButton="True" /> </ISWebGrid:WebGridCustomEditor> <ISWebGrid:WebGridCustomEditor JavascriptFiles="RichTextBox.js" Name="RichTextBox" Persistence="DesignerLevel" ScriptFolder="EditorsPack1" ServerControlFullName="Telerik.WebControls.RadEditor"> <Behavior BaseEditorType="Custom" DropdownButtonType="Custom" HasDropdownButton="True" /> </ISWebGrid:WebGridCustomEditor> <ISWebGrid:WebGridCustomEditor JavascriptFiles="WebInputNET.js" Name="WebInputNET" Persistence="DesignerLevel" ScriptFolder="WebInput" ServerControlFullName="ISNet.WebUI.WebControls.WebInput"> </ISWebGrid:WebGridCustomEditor> <ISWebGrid:WebGridCustomEditor ControlType="DHTMLClientControl" JavascriptFiles="SlideBar.js" Name="Slidebar" Persistence="DesignerLevel" ScriptFolder="EditorsPack2"> <Behavior DropdownButtonImageFile="SliderDD.gif" HasDropdownButton="True" /> </ISWebGrid:WebGridCustomEditor> <ISWebGrid:WebGridCustomEditor ControlType="DHTMLClientControl" JavascriptFiles="HtmlEditor.js" Name="HtmlEditor" Persistence="DesignerLevel" ScriptFolder="EditorsPack2"> <Behavior BaseEditorType="Custom" /> </ISWebGrid:WebGridCustomEditor> </CustomEditors> </PRISM:PrismGridView>
Note that everything else works fine, i.e., sorting, grouping, selecting/deselecting columns and applying changes.
We do a lot of our own customization so there's a lot of server-side code and data binding that we do ourselves, but I don't see how this would impact the client-side code. Let me know if you need anything specific please. Thanks.
or
Choose this if you're already a member of Intersoft Community Forum. You can link your OpenID account to your existing Intersoft Social ID.
Choose this if you don't have an Intersoft account yet. Your authenticated OpenID will be automatically linked to your new Intersoft account.
Enter your Wordpress Blogname