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
Using the provided SaveRestoreLayout.aspx tutorial sample under V3.1 folder, I could save & restore the WebGrid layout and filter the data without any issue you mention. By default the sample does not allow filtering, however you could enable filtering by setting AllowFilter="Yes" under LayoutSettings. Have you tried using the technique in the tutorial sample?
If the method is not applicable, please provide us with a simple running sample so we could analyze the issue further.
You will need to add a new ChartPivotDataConfig in the chart data collection and a new ChartPivotFilterConfig in the char category collection. Here is the snippet, I'm using lambda expression to insert the property in the object:
Protected Sub WebGrid1_ChartImageProcessing(ByVal sender As Object, ByVal e As ISNet.WebUI.WebGrid.Chart.WebGridChartEventArgs) Handles WebGrid1.ChartImageProcessing e.ChartConfig.ChartDataCollection.Add(New ChartPivotDataConfig() With {.DataMember = "ID"}) e.ChartConfig.ChartCategoryCollection.Add(New ChartPivotFilterConfig() With {.DataMember = "Interest"})End Sub
I have discussed this issue with the developer and unfortunately, we do not have a workaround for the TotalRecurrence issue. Using the workaround from the previous post the TotalRecurence will not account for the holidays and the total event displayed will be less than the TotalRecurrence pattern.
Regarding holidays from external database, you will need to buffer the list in a HTML hidden input and match the holiday list with the event start time during the OnEventBound client side event handler. There is no workaround to hide the individual recuring event from the server.
function UpdateGrid(){ var wgTest = ISGetObject("wgTest"); var row = wgTest.RootTable.GetRow(2); var cells = row.GetCells(); var interestCell = cells.GetNamedItem('Interest'); interestCell.SetValue("1"); row.Select(); interestCell.ActivateEdit(); row.SetDataChanged(); row.Update(); wgTest.MarkEdit();}function wgTest_OnEnterEditMode(controlId, tblName, editObject){ var wgTest = ISGetObject(controlId); var selIndex = editObject.element.selectedIndex var selText = editObject.element.options[selIndex].text; editObject.ToCellObject().SetText(selText);}
Such issue is usually caused by missing dll in your project folder. If you are using basic feature WebGrid control the required dll in the project folder are:
- ISNet.dll- ISNet.WebUI.dll- ISNet.WebUI.WebGrid.dll- ISNet.WebUI.WebGrid.Resources.dll (if using SmartWebResources)- ISNet.WebUI.WebDesktop.Resources.dll (if using SmartWebResources)- ISNet.WebUI.Resources.dll (if using SmartWebResources)
More detailed is available in the WebGrid documentation on the article "Deploying project that uses SmartWebResources" or "Deploying project that does not use SmartWebResources"
Unfrotunately such scenario has not been supported by WebScheduler.
However, after discussing this issue with the developer, a workaround would be to hide the event which shown in the holiday date. This could be achieved using OnEventBound client side event handler by comparing the event date and holidays, if it match set the css style of the event so the event will be hidden. Here is the snippet:
function WebScheduler1_OnEventBound(controlId, evt){ var sched = ISGetObject(controlId); var evtDay = [evt.StartTime.getDate(), evt.StartTime.getDay(), evt.StartTime.getFullYear()].join("/"); for (var i = 0; i < sched.Holidays.length; i++) { var hDate = sched.Holidays[i].Date; var hDateStr = [hDate.getDate(), hDate.getDay(), hDate.getFullYear()].join("/"); if (evtDay == hDateStr) { evt.Element.style.display = "none"; } }}
I have updated the sample so there is a button to add and update row in server side, the basic idea is still the same. Sample attached.
The database operation, for simplicity is using data adapter, since internally WebGrid will mark the updated, added, or deleted data row with the correct row state (Modified, Added, or deleted ), so calling the data adapter update method will process the modified, deleted, and added data based on the data adapter update, insert, or delete command.
In my sample, during AddRow and UpdateRow event handler I return false in order to prevent the WebGrid internal event handler to execute because we are not doing any database operation.
Regarding the error you mention during Add Row buton click, I have not encounter such issue in my environment, have you used the latest WebGrid 6 and WebUI Framework 3? The latest build is 219 and 752 respectively.
I can't comment on whether the design is bad or good. However, I have provide an alternative method if you willing to try.
You could retrieve the selection of the HTML element the command executed on using the GetSelectionParentNode function. For your scenario, you try using the OnAfterExecCommand event handler and rewrite the HTML element so the style tag will be outside of the SPAN with the type attribute mailmerge.
Here is the snippet for Bold command:
function WebTextEditor_OnAfterExecCommand(controlId, action){ var WebTextEditor = ISGetObject(controlId); var selection = WebTextEditor.GetSelectionParentNode(); if(selection.parentElement.getAttribute("type") == "mailmerge") { switch(action) { case "Bold": var oNew = document.createElement("strong"); selection.parentElement.parentElement.insertBefore(oNew, selection.parentElement); oNew.appendChild(selection.parentElement); selection.parentElement.innerHTML = selection.parentElement.innerHTML.replace(/<strong>/i, "").replace(/<\/strong>/i, ""); break; } }}
I am still disucssing the cusror position selection with the developer. I will inform you in this thread after I have some update regarding the issue.
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