User Profile & Activity

Glenn Layaar Support
Page
of 99
Posted: April 29, 2010 1:51 PM

The bug report status is still active. Currently, Our developer is focusing on the WebUI Studio 2010 R1 release, at the earliest the fix will be available by late May 2010.

Posted: April 29, 2010 1:44 PM

You could view our ClientBinding_WebService.aspx provided sample on how to bind custom data object using WebService.

Column creation that is done during PrepareDataBinding will need to be done on page load server side event.

You could also read in more detail regarding the client side binding event handling difference in article "The Differences with Server-side Binding" in WebGrid documentation, some event handler, such as InitializeRow will need to be done on client side.

I also see that Hierarchical mode is enabled in the attached sample, in the article "Supported Features and Limitations" in WebGrid documentations, it is already stated that in the current version of WebGrid client bindind does not support Hierarchical and Self Reference.

Posted: April 29, 2010 1:03 PM

In the server side, in order to retrieve the Resource detail using ResourceID you will need to iterate the Resources collection and match the ResourceID property. Here is the snippet to retrieve resource of an event in DataBound server side event handler using LINQ:

protected void WebScheduler1_DataBound(object sender, ISNet.WebUI.WebScheduler.WebSchedulerDataBoundDataArgs e)
{
if (e.Type == WebSchedulerObjectType.Event)
{
WebSchedulerResource res = (WebSchedulerResource)
(from r in WebScheduler1.Resources
where ((WebSchedulerResource)r).ResourceID == ((WebSchedulerEventBase)e.DataObject).ResourceID
select r).FirstOrDefault();

//Process the resource object
}
}

Unfortunately, WebScheduler do not provide any method to retrieve the resource using resource ID.

Based on the attached sample, you will need to declare the correct doctype for XHTML.

Please use this line to declare XHTML doctype in the attached sample:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">


My test show creating NumericInput derived from WebInput using the class below will not result in any javascript error:

public class NumericInput: WebInput
{
public NumericInput(): base()
{
CultureInfo.CultureName = "en-US";
DisplayFormat.IsEnabled = true;
DisplayFormat.Format = "n";
DisplayFormat.Type = FormatType.Number;
CalculatorEditor.IsEnabled = true;

NumericInput = true;
}
}

My colleague method using template will also works without any issue.


Based on my discussion with the developer, this issue is considered as a bug. A bug report has been submitted to the developer. The proposed fix is to still allow the event with the unselected resource to be created, however the event will not be shown in the WebScheduler view.

Our analysis also show that this issue only occurs in the Day and Week view.

The fix is scheduled for the next hotfix of WebScheduler.

Did you notice any difference in the settings used in the attached sample and the one used in your projects? Is there any special character used in the selected item?

If there is any and after matching the setting or data to the attached sample the issue could be replicated in the sample, perhaps you could send us the modified sample to let us replicate the issue in our environment.

Feel free to send it to technical@intersoftpt.com, similiar to the flash video, if you think the modified sample could not be shared publicly.

Glad to hear that the issue has been solved.

Posted: April 27, 2010 11:54 AM

For such scenario you will need to use the WebValueList feature in our WebGrid as shown in IntegrationwithWebCombo.NET.aspx WebGrid provide sample and explained in the article Walkthrough: Using WebValueList in WebGrid in the WebGrid documentation.

WebValueList will accept text - value construct for example hast table or datatable, so you will need to convert the Enum. Here is the snippet to convert the Enum into HashTable:

Hashtable htEnum = new Hashtable();
foreach (object val in Enum.GetValues(typeof(TestList)))
{
htEnum.Add((int)val, val.ToString());
}
public enum TestList
{
A = 0,
B = 1,
C = 2,
D = 3
}


Posted: April 27, 2010 11:23 AM

Regarding the selected rows count, you could use the SelectedRows property in the multiple selection WebGrid. However, it will also exhibit the same issue as you described. A workaround will be to filter the unique key value of each selected row so we will only count the unique key value. Here is the snippet:

for(var i = 0; i < grid.RootTable.SelectedRows.length; i++)
{
var keyVal = grid.RootTable.SelectedRows[i].getAttribute('keyValue');

if(strKeyList.indexOf(keyVal + ";") < 0)
strKeyList += grid.RootTable.SelectedRows[i].getAttribute('keyValue') + ";"
}

var strKeyArr = strKeyList.split(";");
alert(strKeyArr.length - 1);

In order to clear selection in a WebGrid with classic paging, you will need to use the ClearSelection method and SelectedRows.Clear from WebGrid table Storage property. In your case, for multiple selection you will need to reselect one of the selected row before invoking ClearSelection so all the selected row will be cleared. Here is the snippet:

function ClearSelection()
{
var grid = ISGetObject("wgTest");

var strKeyList = "";

for (var i = 0; i < grid.RootTable.SelectedRows.length; i++)
{
var keyVal = grid.RootTable.SelectedRows[i].getAttribute('keyValue');

if (strKeyList.indexOf(keyVal + ";") < 0)
strKeyList += grid.RootTable.SelectedRows[i].getAttribute('keyValue') + ";"
}

var strKeyArr = strKeyList.split(";");

var rowKeyObj = new Array();

for (var j = 0; j < strKeyArr.length - 1; j++)
{
var currRowObj = grid.RootTable.GetRowByKeyValue(strKeyArr[j]);
if (currRowObj)
{
rowKeyObj.push(currRowObj);
}
}

if (rowKeyObj.length > 0)
{
rowKeyObj[0].Select();
grid.ClearSelection();

for (var k = 0; k < rowKeyObj.length; k++)
{
rowKeyObj[k].Uncheck();
}
}

grid.RootTable.Storage.SelectedRows.Clear();
}


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