Question: I am customizing a Quick Form in SalesLogix Web, and it contains a button and a datagrid. What I would like to do is click the button and have it refresh the datagrid records. How can I do this?
Answer: There are a few ways to refresh a page in SalesLogix Web. You can reload it via a Redirect, use the PanelRefresherService and do a RefreshAll, or you can modify the collection that the grid is bound to. The first two options work best if combined, see example below:
Sage.Platform.WebPortal.Services.IPanelRefreshService refresher = PageWorkItem.Services.Get();
if (refresher != null) {
refresher.RefreshAll();
}
else
{
Response.Redirect(Request.Url.ToString());
}
And here is information for performing the third option:
If you have a grid of Widgets under an Account and you are programatically adding a Widget, you can cause the grid to refresh by adding the newly created Widget to the Account’s Widget collection.
Example:
IWidget widget = EntityFactory.Create<IWidget>();widget.Property = “Something”;widget.Save();
// new widget is saved at this point //get a reference to parent entityIAccount account = this.BindingSource.Current as IAccount; //this will cause a grid bound to Account.Widgets to refreshaccount.Widgets.Add(widget);



