All Answers

0 votes

Hit the same issue, but there is a minor error in Luca’s code (Haserror should be HasErrors – casing and plural).

Some additional information to help:

1. Create a new class in your project with the constructors for all the ErrorProvider options and the default without value. I tried to use a dynamic but the designer didn’t like it (even though the code still worked). (eg below)

using Wisej.Web;

namespace MyProject.WiseJCustomClasses {
public class CustomErrorProvider : ErrorProvider {
private IContainer container;
private IContainerControl containerControl;

public CustomErrorProvider() { }

public CustomErrorProvider(IContainer container) {
this.container = container;
}

public CustomErrorProvider(IContainerControl containerControl) {
this.containerControl = containerControl;
}

protected override void OnWebRender(dynamic config) {
base.OnWebRender((object)config);
if (!this.HasErrors) {
config.errors = null;
}
}
}

2. Edit your designer code where the ErrorProvider is created and change to the Custom Error Provider (eg below)

this.errorProvider1 = new WiseJCustomClasses.CustomErrorProvider(this.components);

  • Kevin Caine answered Jun 22, 2019 - 8:14 pm
  • last active Jun 22, 2019 - 8:38 pm
0 votes

Hi Glenn,

Did you figure out the issue? You also tried closing out of the tab and restarting VS, correct?

Let us know what you find!

Best regards,

Levie

0 votes

I checked the “InitializationFailure” string. It cannot show it like that unless the assembly is corrupted. Can you please send to support@iceteagroup.com the Wisej.Framework assembly?

  • Luca answered Jun 21, 2019 - 5:01 pm
0 votes

What happens to the existing rows and cells with the control when you update the grid? Do you dispose the progressbar controls or let the GC collect them?

  • Luca answered Jun 21, 2019 - 4:58 pm
0 votes

Hi Luca,

Pressing F5 does display the grid.

The rows are cleared using dataGridView1.Rows.Clear(); and filled by the attached row_generation.txt file (simplified to 1 control)

In Wisej_error.log line 20348, you see the “Uncaught Error: Remove Error: wisej.web.PictureBox[undefined] is not a child of this widget!”

There are more of them in the log.

When no uncaught error is displayed, then have a look at the attached pictures Screenshot1 & 1b to see the response.

Once not displaying the controls, pressing the buttons on top of the screen to regenerate a new set of rows ends up with the messages from Screenshot 1 & 1b.

 

Best Regards.

0 votes

It’s probably an error on  the client that is blocking the update. See in console.

If you hit refresh, do you get the correct state on the client?

Don’t need to call Suspend/ResumeLayout().

How are the cell controls added/removed?

VirtualMode is not needed. That’s only to handle large data sets on the server. Nothing changed for the client since the wisej.web.DataGrid widget is always in virtual mode.

 

  • Luca answered Jun 20, 2019 - 3:09 pm
0 votes

So how can I correct it? I already uninstall/install, but same problem.

0 votes

Something is wrong in your installation or Wisej versions are mixed. The collection dialog should have a drop down button and show all the ribbon item types. see attached screenshot

  • Luca answered Jun 19, 2019 - 11:45 pm
0 votes

It happens when the browser is slow at rendering the font. It’s usually better to embed the font in the theme. The ThemeBuilder app can do that for you. What browser are you using? Can you also send a zip with a small sample and the font?

  • Luca answered Jun 19, 2019 - 11:41 pm
0 votes

I get an “InitializationFailure” error. Which is fired when Wisej cannot initialize anything. It’s usually caused by an UnauthorizedAccessException to write to the system’s Temp directory. It should have been localized to “Wisej failed to initialize for the following reason: {0}.” and the reason.

  • Luca answered Jun 19, 2019 - 11:40 pm
0 votes

Please see attached references for the project.

0 votes

Hi Glenn,

can you please make sure that you don´t have any references left to Wisej.Core and Wisej.Web ?

Best regards
Frank

0 votes
In reply to: DataGridView Sorting
  • Luca answered Jun 18, 2019 - 1:59 pm
0 votes

Hi Andrew,

After restarting your computer and VS does the problem keep occuring?

Best regards,

Levie

0 votes

Hi Luca,
thanks for your feedback, we roolback our changes.

You say :

When you close the browser or tab, Wisej will stop sending the keep alive “pings” and when the session will expire you will get the page and all other controls disposed.

At the very begging we set sessions unlimited because client doesn’t want the “Expiry session message”.

Default.json OLD


"loaderTimeout": 1000,
"sessionTimeout": 0,
"keepAliveInterval": 15,
"enableWebSocket": true

Default.json NEW


"loaderTimeout": 1000,
"sessionTimeout": 60,
"keepAliveInterval": 15,
"enableWebSocket": true

Now we tested that session are disposed and also components. We manage Application_SessionTimeout to keep session alive on some conditions.

0 votes

Closing the browser or closing the tab is the same as hitting refresh or editing the URL. Calling a web method or any ajax request in window.onbeforeunload may fail randomly because the browser will simply close the communication and it may close it while communicating. Synchronous (blocking) ajax calls have been deprecated long ago in all browsers and all Wisej requests are async. There is no way in any browser to differentiate between closing and refreshing.

When you close the browser or tab, Wisej will stop sending the keep alive “pings” and when the session will expire you will get the page and all other controls disposed.

If all your users got kicked out I assume it’s on IIS. In which case you should see in the event viewer what caused the app pool to recycle. It can be an unhandled exception in a separated thread, or the app writing anything in /bin.

  • Luca answered Jun 17, 2019 - 6:45 pm
0 votes

Hi all,

the problem is that when user is closing browser tab or is closing browser the dispose on main page and all his childrens isn’t called. Don’t now if is a wanted behaviour or not, we create a workaround to make sure that dispose is called also when user close browser and all the handlers are unsubscribed.

Default.html on a script

// quando l'utente chiude la finestra
// o la tab mi assicuro di fare il dispose
window.onbeforeunload = function () {
App.CompleteDispose();
};

Program.cs

[WebMethod]
public static void CompleteDispose()
{
PgMain pgMain = Application.MainPage as PgMain;
if(pgMain != null && !pgMain.IsDisposed && !pgMain.Disposing)
{
pgMain.Dispose();
}
}

We are now testing. Someone can confirm this behaviour ?
Thanks

0 votes
In reply to: ToolBarButton

Icons are always set to scale. The size is set in the theme. Or you can force the size of any image assigned to any control by assigning an ImageList and set the size of the image. You don’t have to put the images in the ImageList, although you can.

For the alignment you can use the https://wisej.com/docs/2.0/html/P_Wisej_Web_ToolBar_TextAlign.htm property. It supports the text on the right of the icon (or inverted for RTL) or below. We don’t support icons below the text in the ToolBar (we have not implemented the TooStrip controls).

  • Luca answered Jun 17, 2019 - 2:18 pm
0 votes

There is a problem with reading the property back here:

https://github.com/iceteagroup/wisej-extensions/blob/2.0/Wisej.Web.Ext.NavigationBar/NavigationBarItem.cs

/// <summary>
/// Shows or hides the shortcut button.
/// </summary>
[DefaultValue(false)]
public bool ShowShortcut
{
 get => this.shortcut.Visible;
 set => this.shortcut.Visible = !this.CompactView && value;
}

 

The shortcut icon returns Visible false when set to true while the parent item is collapsed. It works at runtime. We’ll post a fix to the source project in Github.

  • Luca answered Jun 17, 2019 - 2:11 pm
0 votes

Hi Mark Reed and Luca,

thanks for your answers.

 

Client and us are using chrome last version.

It’s strange because this error happen also in localhost? How can be a websocket connection lost in localhost ?

 

I give more details, we need to keep all datas and all clients continuously update. So we create a static class available from every client, where every page of client can subscribe and unsubscribe. We subscribe on creation and unsubscribe on dispose (image1 and image2). One of this page use also calendar and keep it update.

 

We are doing the following and only sometimes the problem happen:

  • Open calendar and subscribe
  • Open other page like clients, and make several changes -> all data are updated
  • Close tab
  • Open new tab and new session
  • Open same page clients, and make same changes -> some time error on this “reloadData” and WebSocketException on windows event viewer.

Seems that old handler is still subscribe and try to update datas on a calendar that is not instantiated ?

 

Note: on this WebSocketException all clients are throw out from their sessions and application restart

Showing 5801 - 5820 of 11k results