All Answers

0 votes

HI Francesco, use the ToolBox Updater on Wisej Designer Toolbar, chose “Update Toolbox” (or “Aggiorna Toolbox” if your Visual Studio is in Italian) and then you have a “static” Wisej Net Component

 

 

1 vote

Hi Francesco, from Nuget you install the runtime component of Wisej.NET. Your problem comes from the designer environment. Please check the designer version you have installed using the icon on Wisej.NET designer Toolbar. The last release of Wisej.NET Designer can be found at https://docs.wisej.com/docs/releases/whats-new-in-3.5 (Julie already give you the link). Currently the Designer Version is 3.5.6.10.
So download the VSIX and install. If you already have the 3.5.6.10 versione please uninstall it from Visual Studio Extension and reinstall.

 

0 votes

Hi Frank,
In the screenshot you can see what I did, i.e. added the “invalid” state to the “upload” appearance. I did that by editing the .theme file in VS. As you can see, when I open it in the Theme Builder, I can see the addition in the Editor part, but nothing in the tree view. Isn’t this suspicious?

Alex

0 votes

I created a new empty project – everything works.
I inserted the Forms from the old project: everything works.
I open a Form: everything works.
I close the Form and reopen it: Wisej toolbox disappeared.
I close the project and reopen it and after the third time the Wisej toolbox appears.
What’s the problem, inserting Forms from another identical project? I didn’t do anything else.
My computer is new, I installed everything March 5, 2024 and no other problems with VS2019 other than Wisej.
I can’t work with an unstable system, I’m just sorry I wasted my money.

0 votes

Hi Frank,

I’m using Material-3. Yes, I have tried adding a new state named “invalid” to the upload appearance, and putting into it the contents of the textbox invalid state. I have also tried to make the textfield component of the upload appearance inherit from the textbox instead of textfield – don’t know if this is correct. None of these two changes made a difference.

Alex

0 votes

Instead of item.SubItems[i] = new ListViewItem.ListViewSubControlItem(item, control);
you need to do this: item1.SubItems[i].Control = new Button();

Code sample:

// Add Items to the ListView
ListViewItem item1 = new ListViewItem("Item 1");
item1.SubItems.Add("Subitem 1");
ListViewItem item2 = new ListViewItem("Item 2");
item2.SubItems.Add("Subitem 2");
listView1.Items.Add(item1);
listView1.Items.Add(item2);
//Set the Control of the first subitem of item1 to be a button with the text "button text"
item1.SubItems[0].Control = new Button("button text");

I’ve also attached a simple project showing a button in a ListView as the Control of a SubItem.

Relevant documentation:

ListView
ListViewItem
ListViewSubItem

-Julie

0 votes

Hi Alex,

what theme are you using? Did you try copying over the theme settings for the invalid state of the textbox to the upload section?

Best regards
Frank

0 votes

Please also check this setting in Visual Studio:

toolbox

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Best regards
Frank

 

0 votes

You can inject a JavaScript  EventListener to manage the ‘beforeunload’ event into your page (or window o desktop) using the InitScript property of page/window/desktop
window.addEventListener(‘beforeunload’, function (e) {
App.ManageBrowserClose();
});

The listener call a method inside the Program Class ( Program.cs) of you Application. In this example the method il called ManageBrowserClose()

The called method is decorated with the [WebMethod] attribute so it became callable from JavaScript.
[WebMethod]
public static void ManageBrowserClose()
{
try
{
//Here you code
}
catch (Exception)
{

throw;
}

}

Be aware that you can’t debug in Visual Studio the code when invoked by the EventListener because Visual Studio lost connection with the browser, but the code inside is executed.

0 votes

Try restarting your computer and also restarting Visual Studio. Also make sure that you have the most recent version of the Wisej VSIX. You can either download the VSIX via Visual Studio (Extensions -> Manage Extensions -> Updates -> Select Wisej.NET 3 -> Update) or via the installer on our website here: https://docs.wisej.com/docs/releases/whats-new-in-3.5

0 votes

Look into using the HtmlPanel.

Documentation: https://docs.wisej.com/docs/controls/content/htmlpanel

  • Julie (ITG) answered May 9, 2024 - 5:55 pm
  • last active May 9, 2024 - 5:55 pm
0 votes

Hi Julie,

I went to the license test, you can view a sanitized screenshot here. I verified the user that nginx and the app are running as have read/write permissions to the license path just in case that could create problems.

Would it actually say that it’s invalid due to premium extensions being present, or would it just say invalid like my screenshot does?

0 votes

Hello Frank, I have attached for you an example where values are not transferred from a screen add_item_public to screen In the DGV

The attached video and sample can be downloaded from here :

https://www.mediafire.com/file/imnkwvrub8th7ua/WisejWebDesktopApplication1.rar/file

Thank .

0 votes

This had something to do with styles & other content leftover from the VWG designer that the WiseJ designer carried forward.   I removed all cell styles from the grids and then re-added the appropriate style and the grid started working correctly.  I don’t know exactly what it was – I fiddled with it for hours, cleaning up junk in the .designer.cs file until it started working.

0 votes

This had something to do with styles & other content leftover from the VWG designer that the WiseJ designer carried forward.   I removed all cell styles from the grids and then re-added the appropriate style and the grid started working correctly.  I don’t know exactly what it was – I fiddled with it for hours, cleaning up junk in the .designer.cs file until it started working.

 

0 votes

Thank you for the quick response Julie.

I do have a devexpress license, but I’ve not used any of their controls or methods in my wisej project. I do have references to a dll from another project for business logic and database IO methods, and that probably has some references to devex winforms controls, but not any web stuff. The message I get specifically says “Invalid Server License”, a blank expiration, and the version number. It doesn’t say anything about premium extensions, but if those could potentially cause the error I’ll try building a simple app without any of those references and see if it works.

I am using the server license in the web.config file. I did try it with the developer license just to see if that would do anything different, but at the moment it’s back to using the server express one.

I’ll try checking the LicenseTest and see what that says. If it’s just because of the premium extensions I have no problem buying a server license. Eventually I’d want to be able to use devex in my projects anyway, we just wanted to see if work first.

0 votes

Are you using a premium extension (ie Kendo, Syncfusion, etc)? If you are using a premium extension with the Server Express license, then you should be getting an “invalid license” message.

Note that the license you use in the web.config file should be the “Server Express” license, NOT the “Developer Professional” license. You need to use a server license in web.config.

I tested with your “Wisej Server Express License” (You provided the license when you messaged support via email.). I just deployed a small test application to IIS to see if I got any license errors. It does give a license warning about the premium extensions as expected. If I use the license in a project without premium extensions, the warning goes away.

One thing that I did during my testing that you can try- deploy to IIS, then go to 192.168.x.x/LicenseTest/license.wx where 192.168.x.x is the name of your ip, and LicenseTest is the name of your application. It will display a page of information about the license that the application is using.

I’ve attached a screenshot of what the license.wx screen looks like for me when I use your license (with the license key and other sensitive information redacted of course)

  • Julie (ITG) answered May 8, 2024 - 9:45 pm
  • last active May 8, 2024 - 9:46 pm
0 votes

So, there are two things you need to do here:

1. Detect that the client quit
There is absolutely no way to specifically detect a browser being closed in javascript. Closing the browser tab, closing the entire browser, navigating away, or shutting down the computer are identical operations as far as the server is concerned. However, I would say all of these fall under “the client quit”, so it should work just fine.

You can detect when the client quits by attaching an event handler to the ApplicationExit event.
Note that ApplicationExit will fire when the session expires, which will happen after sessionTimeout * 2 (in default.json). If you have a high session timeout then it may take long before the session expires.

I’ve attached a sample using Wisej that creates a file (log.txt) when the ApplicationExit event fires. (Note that the sample uses Wisej, but you can also use ApplicationExit in PPJ Web). Also note that if you run the sample from Visual Studio it won’t work. The ApplicationExit event fires when you close the browser. But when running via Visual Studio, the program stops running when you close the browser and thus the code in the ApplicationExit event handler does not run. If you deploy the test application to a server (for example, IIS) then you will notice that the log file is generated shortly after the browser is closed. The server continues running after the browser is closed and that’s how it’s able to run the code in the ApplicationExit event handler. In the sample, I’ve set the session timeout to 2 seconds (via default.json), so the log file will be generated pretty quickly.

You may also find it helpful to read the documentation on session management: https://docs.wisej.com/docs/concepts/session-managemen

2. Run some code to abort the printing procedure.
In your case, you don’t want to create a text file on ApplicationExit, you want to abort a printing procedure.
To figure that out, you’ll need to refer to the Crystal Reports documentation, as that’s a third party software not developed by us: https://help.sap.com/docs/SAP_CRYSTAL_REPORTS

0 votes

Hi Francesco,

you can use the Application.Session object:

https://docs.wisej.com/docs/controls/general/application#session-object

Best regards
Frank

0 votes

For anyone who has the same problem. To solve it, just ask Aruba to insert the domain into a full trust server. It’s free

Thank you all

Showing 1 - 20 of 11k results