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
Since we could not access the WebGrid during WebService we will not be able to refresh the Grid in the WebService. However, our WebFlyPostBack already have OnResponseSuccess client side event handler that you could use to reference the WebGrid object and refresh the grid.
We have already provided a demonstration of the OnResponseSuccess client side event handelr in SimpleTypeWS.aspx page on the WebFlyPostBackManager folder under WebDesktop sample.
I have discussed this issue with the developer and as you have discovered, WebGrid will require the parentdatamember field in self reference setting to have a unique value.
WebGrid will not accept and resulted in an error if the parentdatamember field value in the self reference setting is not unique.
Unfortunately, we could not replicate the issue on our 64bit environment. Our developer also assures me that the 32bit application will only need to be set to true if you are using WebGrid charting.
Attached is the simple project I used in order to test the issue. I already used WebInput 4 build 4 and WebUI Framework 3 build 753.
Based on some previous issue with similar error, you could try setting the Enable 32-bit Applications property in the application pool you are using for the project to True.
You could modify this property in the IIS Manager Application Pool Advance Setting window by selecting the application pool you are using in the project.
As a workaround for such scenario, you could try using ValidatorEnable(val, enable) function, as detailed in ASP .NET validation in depth, during OnClick client side item command event handler.
In my test, I am using ASP .NET required field validator and during item command click, I could disable the required field validator using this snippet:
function WebMenuBar1_OnClick(ctrlId){ ValidatorEnable(RequiredFieldValidator1, false);}
In such scenario, we suggest using client side function in order to sent the filter criteria to the ISDS selecting server side event handler. The ISDS parameter do not need to be bounded to the control:
<SelectParameters> <asp:Parameter DefaultValue="1" Name="ResourceID" /></SelectParameters>
Here is the snippet, in my sample I use HTML select element for the filter field. The AddInput function will send the filter parameter to the server:
function SetFilter() { var scheduler = ISGetObject("WebScheduler1"); var resSelect = document.getElementById("resourceList"); var resSelectVal = resSelect.options[resSelect.selectedIndex].value; scheduler.AddInput("ResID", resSelectVal); scheduler.RefreshAll();}
In the Selecting ISDS server side event handler, we could check if there is a filter parameter being sent, if there is apply the new filter parameter to the ISDS select parameter:
protected void ISDataSource1_Selecting(object sender, ISNet.WebUI.DataSource.ISDataSourceSelectingEventArgs e){ if (e.ViewName == "RecurringEvents") { if (!string.IsNullOrEmpty(Request["ResID"])) { e.InputParameters[0] = Int32.Parse(Request["ResID"]); } }}
In order to show the filter text for dropdownlist when you are filtering programmatically you will need to set the filter text manually in the corresponding filter row cell.
Here is a snippet for such scenario, the value of the filter is 2 while the filter text is Interest 1 and the filtered cell is the fourth cell in the WebGrid:
function FilterGrid() { var grid = ISGetObject("wgTest"); var newFilter = new WebGridFilter(); // create new Filter configuration newFilter.ColumnMember = "Interest"; newFilter.FilterType = "EqualTo"; newFilter.FilterText = "2"; grid.RootTable.FilteredColumns.Add(newFilter); grid.RootTable.FilteredColumns.Add(newFilter2); grid.RootTable.UpdateUI(); grid.Refresh(); // apply changes var colHeaderRows = grid.RootTable.GetElement(WG40.COLHEADER, WG40.HTMLROW).getElementsByTagName("tr"); for(var i = 0; i < colHeaderRows.length; i++) { var colHeader = colHeaderRows[i]; if (colHeader.getAttribute("type") == "FilterRow") { colHeader.getElementsByTagName("td")[4].getElementsByTagName("span")[0].innerHTML = "Interest 1"; } }}
Thank you for the detailed analysis of the issue. I have forwarded the analysis to our developer for consideration in implementing the conditional check in future version of WebScheduler.
Based on my discussion with the developer, StackButton visibility property will not work because it is only the control model, in order for the visibility property to work you will need to set it to the control element.
My test show modifying visibility will work during WebFishEyeButton click event handler. However, there will be an empty space where the stackbutton resides. Here is the snippet if you would like to try it yourself:
private void FishEye1_ButtonClick(object sender, ISNet.Silverlight.WebAqua.WebFishEyeButtonEventArgs e){ if (e.Button.ItemName == "btnSearch") { Storyboard toolbarDelay = new Storyboard() { BeginTime = TimeSpan.FromSeconds(0.1) }; toolbarDelay.Completed += (s, evt) => { ((WebFishEyeButton)e.Button).StackButtons[0].GetButtonElement().Visibility = System.Windows.Visibility.Collapsed; }; toolbarDelay.Begin(); }}
For such scenario we suggest removing the stackbutton in order to display the stackbutton correctly.
If you are interested, we will release WebUI Studio 2010 R1 RC that will inlcude new version of our Silverlight product soon. Please check http://www.intersoftpt.com regularly for further details regarding our RC.
You could see from the FireFox screenshot that the font you applied is being overridden by the element style applied when the row is selected and when the row is selected a background color is applied.
In my test, you could use the css class method you intoduce in the few previous post above in order to overwrite this default selected style.
interSoftWebUIGrid.LayoutSettings.SelectedRowStyle.CssClass = "DummyCSS";
Because the background color and font is changed, in the DummyCSS class you will need to define the default row style in the WebGrid.
You also mention that you are using WebGrid 2007 R2, have you update the control to the latest build? WebGrid 6 build 219 and WebUI Framework build 753
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