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
Hi
I have a Urgent problem with some problems concerning expanding after you have grouped.
In my sample project do the follwing:
Group by ex. City.
Then scroll down to one of the last Citys and Click on the + It should open the city and the status "Loaded X of 91 is counting upwards but it does not Expand!!
Am i doing something wrong or is this a plz answer since this is a something which is in production.
I Have tried to get in contact with your live support for roughly one hour.
BR Rolf
Hi again
Just to let you know that i got it working (Group/Virtual layout/XHTML) with the following script:
function WebGrid1_OnAfterResponseProcess(controlId, actionName, lastRequestObject, xmlResponseObject) { var WebGrid1 = ISGetObject(controlId); var nAgt = navigator.userAgent; var fullVersion = '' + parseFloat(navigator.appVersion); var majorVersion = parseInt(navigator.appVersion, 10); if ((verOffset = nAgt.indexOf("MSIE")) != -1) { browserName = "Microsoft Internet Explorer"; fullVersion = nAgt.substring(verOffset + 5); } if ((ix = fullVersion.indexOf(";")) != -1) fullVersion = fullVersion.substring(0, ix); if ((ix = fullVersion.indexOf(" ")) != -1) fullVersion = fullVersion.substring(0, ix); majorVersion = parseInt('' + fullVersion, 10); if (isNaN(majorVersion)) { fullVersion = '' + parseFloat(navigator.appVersion); majorVersion = parseInt(navigator.appVersion, 10); } if (actionName == "LoadGroup" && IS.IsXHTMLDocType() && IS.ie && majorVersion > 7) { if (WebGrid1.GetSelectedObject() != null) { var childRows = WebGrid1.GetSelectedObject().GetRowElement().parentElement.nextSibling.getElementsByTagName("tr"); for (var i = 0; i < childRows.length; i++) { childRows[i].style.display = ""; childRows[i].setAttribute("rowIndex", childRows[i].recordIndex); } } } return true;}function WebGrid1_OnGroupExpand(controlId, actionName, lastRequestObject, xmlResponseObject) { var WebGrid1 = ISGetObject(controlId); if (IS.IsXHTMLDocType() && IS.ie) { if (WebGrid1.GetSelectedObject() != null) { var childRows = WebGrid1.GetSelectedObject().GetRowElement().parentElement.nextSibling.getElementsByTagName("tr"); for (var i = 0; i < childRows.length; i++) { childRows[i].style.display = ""; } } } return true;}function WebGrid1_OnGroupCollapse(controlId, actionName, lastRequestObject, xmlResponseObject) { var WebGrid1 = ISGetObject(controlId); if (IS.IsXHTMLDocType() && IS.ie) { var childRows = WebGrid1.GetSelectedObject().GetRowElement().parentElement.nextSibling.getElementsByTagName("tr"); for (var i = 0; i < childRows.length; i++) { childRows[i].style.display = "None"; } } return true;}
Making the following Client side Events on all the Grids:
<ClientSideEvents OnAfterResponseProcess="WebGrid1_OnAfterResponseProcess" OnGroupExpand="WebGrid1_OnGroupExpand" OnGroupCollapse="WebGrid1_OnGroupCollapse"> </ClientSideEvents>
About the AutoHeight and AutoWidth we have a answer from your developer team "Make a Div outside the Grid and Hight width the Div in $ispct; this is also working but im still positive that its functionality which should be in the Webgrid since it was working in the "old" doc type.
based on my analysis the issue only occur in IE when using XHTML page. A bug report has been submitted for the issue.
In the mean time, since the row is already created but still use none as the display style, you could use a workaround to show the hidden row. You will need to manually set the row display style to "" during LoadGroup AfterResponseProcess event handler, here is the snippet:
function WebGrid1_OnAfterResponseProcess(controlId, actionName, lastRequestObject, xmlResponseObject){ var WebGrid1 = ISGetObject(controlId); if (actionName == "LoadGroup" && IS.IsXHTMLDocType() && IS.ie){ var childRows = WebGrid1.GetSelectedObject().GetRowElement().parentElement.nextSibling.getElementsByTagName("tr"); for (var i = 0; i < childRows.length; i++) { childRows[i].style.display = ""; } } return true;}
Hi Glenn Layaar
Thx for your reply.
I have implemented the function in our code and its working for expanding.
OnAfterResponseProcess="WebGrid1_OnAfterResponseProcess" OnGroupExpand="WebGrid1_OnGroupExpand" OnGroupCollapse="WebGrid1_OnGroupCollapse"
function WebGrid1_OnAfterResponseProcess(controlId, actionName, lastRequestObject, xmlResponseObject) { var WebGrid1 = ISGetObject(controlId); if (actionName == "LoadGroup" && IS.IsXHTMLDocType() && IS.ie) { var childRows = WebGrid1.GetSelectedObject().GetRowElement().parentElement.nextSibling.getElementsByTagName("tr"); for (var i = 0; i < childRows.length; i++) { childRows[i].style.display = ""; } } return true; } function WebGrid1_OnAfterResponseProcess(controlId, actionName, lastRequestObject, xmlResponseObject) { var WebGrid1 = ISGetObject(controlId); if (actionName == "LoadGroup" && IS.IsXHTMLDocType() && IS.ie) { var childRows = WebGrid1.GetSelectedObject().GetRowElement().parentElement.nextSibling.getElementsByTagName("tr"); for (var i = 0; i < childRows.length; i++) { childRows[i].style.display = ""; } } return true; } function WebGrid1_OnGroupExpand(controlId, actionName, lastRequestObject, xmlResponseObject) { var WebGrid1 = ISGetObject(controlId); if (IS.IsXHTMLDocType() && IS.ie) { var childRows = WebGrid1.GetSelectedObject().GetRowElement().parentElement.nextSibling.getElementsByTagName("tr"); for (var i = 0; i < childRows.length; i++) { childRows[i].style.display = ""; } } return true; } function WebGrid1_OnGroupCollapse(controlId, actionName, lastRequestObject, xmlResponseObject) { var WebGrid1 = ISGetObject(controlId); if (IS.IsXHTMLDocType() && IS.ie) { var childRows = WebGrid1.GetSelectedObject().GetRowElement().parentElement.nextSibling.getElementsByTagName("tr"); for (var i = 0; i < childRows.length; i++) { childRows[i].style.display = "None"; } } return true; }
if (!ISEvent.Raise(vfcc65.LayoutSettings.ClientSideEvents.OnCellClick,vfcc65.Id,vbb966.Id,v88587.rowIndex,v3ec22.cellIndex,v3ec22,v88587.position))
My working code are running with Checkboxes (Row selecters) which wont be maked.
I could also replicate the issue on my environment. Based on my analysis the WebGrid expect a rowIndex attribute to be available in the row element. In order to resolve the issue I set the rowIndex attribute to have the same value as recordIndex attribute. Here is the updated snippet:
function WebGrid1_OnAfterResponseProcess(controlId, actionName, lastRequestObject, xmlResponseObject){ var WebGrid1 = ISGetObject(controlId); if (actionName == "LoadGroup" && IS.IsXHTMLDocType() && IS.ie){ var childRows = WebGrid1.GetSelectedObject().GetRowElement().parentElement.nextSibling.getElementsByTagName("tr"); for (var i = 0; i < childRows.length; i++) { childRows[i].style.display = ""; childRows[i].setAttribute("rowIndex",childRows[i].recordIndex); } } return true;}
Thx again for the reply.
I have tried to implement your solution to our project but now i get this error when clicking in the checkbox:
Error: htmlfile unexpected call to method or property access.
this happens here:
m79a58:function(vd6d27,v46199) { if (v46199.rowIndex ==vd6d27.rows.length -1)
This happens right after thise two meathods have ran:
Private Sub WebGrid1_UpdateRow(ByVal sender As Object, ByVal e As ISNet.WebUI.WebGrid.RowEventArgs) Handles WebGrid1.UpdateRow
Private Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload
It seams only to occur on the rows added by the "Fix" and not by the once showing from the start by virtualload.
Any solution how to fix this error?
To help you out:
Is only called by the once added by the Fix! not the once added from the start by VirtualLoad!
The checkboxes Checked for the once added by VirtualLoad stays Checked eventhough the "Webgrid1_UpdateRow" aint called.
But the once Added by the fix when these are checked the "Checkbox" will loose the check when you make a Full postback.
I belive its the update which are making these errors.
Hope to hear from you with a solution to this problem.
We have another huge problem which we have used a quickfix on but really want to see fixed in another way.
The AutoHeight="true" AutoWidth="true" does not work when you use
Style="z-index: 101; left: 152px; position: absolute; top: 126px"
See sample Project Attached.
The Webgrid should resize after the screen width and screen height and put Scrollbars on the Webgrids Right and Bottom, if the Size of the Webgrid, does not fit the Screen.
But both the Browser window and the Webgrid gets a Scrollbar.
Is there something im missing to get the Webgrid scrollbar only since i set the Autowidth and AutoHeight to true?
The Solution we are using atm is to not use Auto Width and AutoHeight but we really like to see a Solution to this problem so we can use the AUtoHeight and AutoWidth.
My test show that you will need to create a contrainer with the style in order to render the grid correctly. For example:
<div Style="z-index: 101; left: 152px; position: absolute; top: 126px; height:100$ispct;;" /> <iswebgrid:WebGrid ID="WebGrid1" runat="server">
Regarding the rowchecker issue, I have modify the sample page to have a rowchecker. However, I failed to replicate the error on my environment.
Hi again Glenn
Thx yet again for your answer eventhough i cant make it work to illustate the problem in your solution i have made a sample project without Webgrid! To illustrate that i cant set the Div as you listed since the Div will have the same problem as your Webgrid.
I have ilustrated the:
<Body> with a Green Color
<Form> with a Red Color
<Div> with a Blue Color
You will see that the Body and the Form will render to the Screen Size.
But the Div will have the problem the Webgrid had before, that the div has the original screen size just displaced.
which means that the div aint considering that the left/top positioning should take something from its height width.
Im pritty sure that its in Webgrid the functionality should be since this were working in the previous version of webgrid with Doctype 4.0.
Note: i tried with the new version of webgrid aswell and that also works in Doctype 4.0 so its clearly a XHTML problem both of the problems i described.
I have discussed this issue with the developer and he confirmed that this is the expected behavior in XHTML doctype, the parent container will automatically enlarge it size based on the child size.
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