User Profile & Activity

Glenn Layaar Support
Page
of 99
Posted: June 30, 2010 11:30 PM

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.

Posted: June 30, 2010 6:26 AM

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.

Posted: June 29, 2010 6:30 AM

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);
}


Posted: June 28, 2010 1:06 AM

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.

Posted: June 24, 2010 10:53 PM

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

All times are GMT -5. The time now is 7:37 AM.
Previous Next