User Profile & Activity

Andi Santoso Support
Page
of 53
Posted: November 23, 2009 11:32 PM

Hi Alex,

   Sorry to tell you, but we do not have a refresh behavior. Because in IFrame, once the IFrame window is opened and loaded, we do not have to re-load it again for the sake of performance. One other way to manipulate the refresh, is by re-setting the content of URL.

   Here are the sample code that I made by modifying you code:

function refreshIfExists(winName, winURL)

{

         var dm = ISGetObject("WebDesktopManager1");

         var wnd = dm.GetWindow(winName);

         if (wnd != null)

         {

                 wndRef.ContentURLChanged = true;

                 wnd.SetContentURL(winURL);

         }       

}

Thank you,

Andi Santoso

Posted: November 23, 2009 9:21 PM

Hi Mark,

 

  Sorry to tell you that we are not supporting this kind of behavior, for now we only suport column set.

 

Thank you,

Andi Santoso

Posted: November 23, 2009 9:11 PM

Hi John,               

               

                Your sample code and mine are basically same, by adding one more childNodes in my sample is to go deeper to the specific element. So, what you did is a correct method as well. The other samples that you might see are different, those cell’s element might has a SetText() method. When we are in the footer’s cell element,  there is no SetText() method, so we can just set the InnerText value into a specific value and it works as well.

 

Thank you,

Andi Santoso

Hi Michael,

          The error is occurred because you are selecting an empty cell instead of Event Cell . In order to pass the value from an empty selected cell, it is better if we use a client-side event function, which is “_OnEditingFormShow“  function, and I made a validation on the “eventType” either it is Event or Null.

           Here are the sample code that I made. And remember, do not implement this code on the IFrame file, but implement this on your WebScheduler file.

function WebScheduler1_OnEditingFormShow(controlId, action, eventView, eventType, newType)

{

	var WebScheduler1 = ISGetObject(controlId);

	if (eventType == "Event") {

 		window.setTimeout(function() { window.parent.window					[1].document.getElementById	("Text1").value = 						WebScheduler1.SelectedEvent.StartTime; }, 500);

	}

         else {

 		window.setTimeout(function() { window.parent.window					[1].document.getElementById("Text1").value = 
		WebScheduler1.SelectedDateArea.title; }, 500);

	}

	return true;

}

               

Thank You,

Andi Santoso

Posted: November 23, 2009 3:04 AM

Hi Siva,

    I have made my simple sample, but I can not replicate you issue. In my sample, initialy, I make a WebGrid inside an invisible DIV, and then, I have a button that will show or hidden the DIV.

    In my sample, it works pretty well and my status bar does not move 10px away like you mentioned above. I attached my sample as well, so that you can investigate further more.

 

Thank you,

Andi Santoso.

Posted: November 23, 2009 2:34 AM

Hi John,

    In order to update the Footer Cell's value when you edit a cell is by using a "OnExitEditMode" on the client side. You have to get the value from an edited objet and set it to the footer's element cell.

Here are the sample code that I made in client side:

function WebGrid1_OnExitEditMode(controlId, tblName, editObject)
{
	var WebGrid1 = ISGetObject(controlId);

	WebGrid1.RootTable.GetElement(WG40.COLFOOTER, WG40.HTMLTABLE).cells
	[4].childNodes[0].nodeValue = "Element : " + editObject.element.value;
		  
	return true;
}

 Thank You,

Andi Santoso

Hi Michael,

    I assume you are creating a custom editing form. In order to pass the value into the IFrame, you need to use function window::onload() in your IFrame file.

   Here are the sample code that i used to pass the start time value from an Event that has been clicked on the WebScheduler and assigned it in a simple TextBox.

function window::onload()
{
           var txt = document.getElementById("Text1");
           var ws = window.parent.ISGetObject("WebScheduler1");
           txt.value = ws.SelectedEvent.StartTime;
}

Thank you,

Andi Santoso

Posted: November 20, 2009 2:45 AM

Hi Mark,

   Sorry to tell you, but there are no codes Event that can trigger to refresh the WebGrid, since we are using Unbound WebGrid. Because with Unbound WebGrid we are not allowed to do certain procedures, e.g. Refresh, Filter, Grouping, etc, since it has a static data where we set the data manually on the server side.

   My advices, if you persist on using an Unbound WebGrid, we can using a filter query on database when the button is invoked (e.g SELECT * from Invoice_table where <<Condition>>), but, this is not a flyPostBack, it is a FullPostBack.

Or, you can just use a Bound WebGrid as a second option. On Bound WebGrid, we can use a Grouping and Filter function to get a similiar output as you requested or if you want to, you have to divide the database based on your category. If so, then we can make it as a hierarchical WebGrid.

 

Thank you,

Andi Santoso

Posted: November 19, 2009 6:14 AM

Hi Mark Silka,

 

     I have created a sample (VB) of WebGrid using Unbound Hierarchical and retrieve the database from Microsoft SQL Server.

     First, we need to make a connection to SQL database and set a query to retrieve the data. Then, we have to assign each column to specific variable. After that, from this variable we can assign the value from database into WebGrid manually(Unbound).

For futher information, you can see my sample.

 

Thank You,

Andi Santoso

Hi Michael,

 

In order to pass the selected datetime on the empty cell in the timeline view, You will need to use a ClientSideEvent OnCellSelected (You can find in the property of WebScheduler). Since You only want to retrieve the selected datetime in the timeline view, we need to make a validation first.

 

Here are the sample that I made in the client-side, using a TextBox to show a selected datetime on the selected empty cell in the timeline view.

 

function WebScheduler1_OnCellSelected(controlId, startDate, endDate, isAllDay, resource)
{

	var WebScheduler1 = ISGetObject(controlId);

 	if (WebScheduler1.ViewSettings.SelectedViewMode == "Timeline") {

 		var text = document.getElementById("Text1");

 		text.value = startDate;

       	}

 	return true;

}

Thank You,

Andi Santoso

All times are GMT -5. The time now is 10:45 AM.
Previous Next