All Answers

0 votes

Hi Julie – please find the requested test project in attached file. HTH.

0 votes
In reply to: DevExpress Gridcontrol

https://supportcenter.devexpress.com/ticket/details/t233080/datagrid-how-to-set-row-height

https://js.devexpress.com/jQuery/Documentation/ApiReference/UI_Components/dxDataGrid/Row/

Wisej doesn’t change the way devextreme works. You need to write javascript. Use the Dx documentation, once you know how to change the row height in javascript, post a working sample using any framework and in case you can’t do the same using Wisej I’m sure someone will help you.

  • JD answered Dec 16, 2025 - 11:22 am
0 votes

Solution 1 seems to work for us. Cookies in web browsers are still functional with several current web browser implementations.

Thank you Julie.

1 vote

The theme would have to be a .theme JSON file, so if you got it from another vendor it’s likely in the wrong format. Just as you cannot use a devexpress theme with telerik or a wordpress theme with asp.net. Any theme from any vendor is not interchangeable.

1 vote

Themes are simply JSON files. You can open any theme file in the theme builder, doesn’t matter who made it.

For more details on using custom CSS in your theme, see here: https://docs.wisej.com/theme-builder/user-interface/css-editor

0 votes

Using Application.Navigate to access the html file is pretty simple.

Simply add the html file to your project, ie myhtml.html.

Then access it with Application.Navigate.

Application.Navigate(“myhtml.html")

See attached test case.

 

0 votes

Thanks a lot – we’ll try out your proposals ASAP.

0 votes

The Application.ClientId is stored in the browser’s LocalStorage. The reason you’re seeing ClientId changing after closing and reopening the browser is most likely due to recent browser privacy changes.
Modern browsers (Chrome, Edge, Firefox) have been implementing stricter privacy measures, including:

  • Storage partitioning – Browsers are now partitioning localStorage by top-level site to prevent cross-site tracking
  • Third-party cookie blocking – Browsers are increasingly blocking or limiting third-party cookies and storage access

Solutions
1. Use Cookie-Based Storage Instead
You can store your own client identifier in cookies rather than relying solely on Application.ClientId:

// At application start, check for existing client ID in cookies
var existingClientId = Application.Cookies["MyClientId"];
if (string.IsNullOrEmpty(existingClientId))
{
// Generate and store a new client ID
var newClientId = Guid.NewGuid().ToString();
Application.Cookies.Add("MyClientId", newClientId);
}

2. Configure Session Storage to Use LocalStorage
In your Default.json, ensure you have the session storage set to “local”:

{
"sessionStorage": "local"
}

This allows the session to survive browser closure, but may still be affected by browser privacy settings. See https://docs.wisej.com/docs/concepts/configuration for more information

3. Implement User Authentication
The most reliable approach is to implement proper user authentication. When users log in, you can associate their session with their user account in your database, making browser storage irrelevant for session recovery:

// After successful login
Application.Session.UserId = authenticatedUserId;
// Store session info server-side linked to the user

4. Check Browser Settings with Users
Have affected users check their browser settings for:

  • “Clear cookies and site data when you close all windows” (in Chrome: Settings → Privacy and Security)
  • Any browser extensions that clear storage data

 

Hope this helps,

Julie

0 votes

Can you please attach a test case that reproduces the issue? Delete the bin and obj folders before posting to make the file size smaller.
Thanks,
Julie

0 votes

You can do the first approach like this:
string myHtml = "<html><head><style>body{background:blue;}</style></head><body><h1>Hello</h1></body></html>";
string base64Html = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(myHtml));
webBrowser1.Url = new Uri($"data:text/html;base64,{base64Html}");

For the second approach, you can create an endpoint/handler that returns your HTML and navigate to it:
Application.Navigate(“/api/catalog?id=123”);

0 votes

thx dear

0 votes

It drops down automatically. You are trying to change the default behavior and breaking it. Post a working small test case that opens in VS and runs. This way it’s easier to fix your code. It’s too much time to copy your snippet in a working project.

  • JD answered Dec 10, 2025 - 11:41 am
0 votes

Hi Julie,

What I need is that: when specific conditions are met (in parameters, etc; doesn’t concern the topic), I need one of the 2 posibilities:

1. Display the full html (with css, etc) in a webbrowser control. But I wasn’t able to find HOW to execute something like
WebBrowser wb;
wb.html=myHtml; //that doesn’t exist; what can I do?

2. Completely replace my application with myHtml. I tried:
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(html);
using (MemoryStream ms = new MemoryStream(bytes))
{
Application.DownloadAndOpen(“_blank”, ms, $”catalog.html”);
}
Application.Navigate(“javascript:window.close();”);

That works, but the browser display a warning “allow pop-up” or “pop-up blocked” that prevent the opening of the new tab.

The first approach will be better, if you can tell me how to “inject” all html in WebBrowser.

0 votes

The HtmlPanel control in Wisej.NET is designed to display HTML content, but it doesn’t create a full browser environment. Instead, it renders HTML within Wisej’s own widget framework. Because of this, CSS pseudo-classes like :hover still work correctly, since they are handled by the browser. However, anchor links such as <a href=’#top’> do not behave as they normally would, because HtmlPanel does not create a standard browsing context with typical navigation. In addition, any JavaScript included in your HTML will not be executed.

If you want to display the HTML within your application while keeping the app active, use IFramePanel or WebBrowser control. These create a real iframe/browser context where CSS and anchor links work properly.

0 votes

Hi Frank, here’s the video you requested…
Regards

0 votes
In reply to: IISEXPRESS SLOW

Hi Frank,

In Release Mode I have the same performance.

I notice that the problem is when then form create the columns on the grid for the first time.

In fact, if instead of closing the form, I execute the ‘Hide’ method and subsequently ‘Show’ the problem does not occur.

 

Best regards
Angelo

0 votes
In reply to: IISEXPRESS SLOW

Hi Angelo,

what is the performance when you run your project inside Visual Studio in Release Mode?

Best regards
Frank

0 votes

Can you be more specific- what are you struggling with and what questions do you have that could be addressed by additional documentation?

Julie

0 votes
In reply to: IISEXPRESS SLOW

Hi Frank,
When Running in debug mode inside Visual Studio.
If it helps, I’ll briefly describe what the software does when the form opens.
– The form contains a custom datagridview.
– The form’s MyBase.Load event calls the ‘DGV_M_SetColumns‘ method which adds the columns to the grid:

Typical code for adding a column

txtC = New ASNetL.Wsj3.Forms.wDataGridViewTextBoxColumn
FieldName = “prfvcl_targa”
With txtC
.Name = FieldName
.DataPropertyName = FieldName
.HeaderText = “PLATE”
.Width = 150
.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.DefaultCellStyle.Format = “”
.ToolTipText = “Vehicle License Plate”
.Visible = True
.FilterEnable = True
.EditModeOnGrid = ASNetL.Wsj.wEnum.EditModeOnGridEnum.NoEditable
‘I add the column to the grid
DGV_M_GRD.Columns.Add(txtC)
End With

– The MyBase.Shown event of the form calls the ‘FILL‘ method which essentially performs the binding of the grid:

PgSQL_Conn = New NpgsqlConnection(ConnStr)
PgSQL_Conn.Open()
DgvData.Clear()
PgSQL_Command.Connection = PgSQL_Conn
PgSQL_Command.CommandText = qry + WhereFlt
PgSQL_Adapter.SelectCommand = PgSQL_Command
PgSQL_Adapter.Fill(DgvData)

dgvBindingSource.DataSource = DgvView
dgv.AutoGenerateColumns = False
dgv.DataSource = dgvBindingSource

In summary, I noticed that the ‘DGV_M_SetColumns’ method slows down the form display (up to 10 seconds). In fact, if it’s commented out (and I don’t call it), the form displays quickly. However, this only happens when running with Visual Studio (IISExpress). If the application is deployed on a server (IIS), everything works without any delays.

Tanks

 

0 votes
In reply to: IISEXPRESS SLOW

Hi Angelo,

what does “open the form” actually mean? Open in the designer or running in debug mode inside Visual Studio?

Best regards
Frank

Showing 1 - 20 of 11k results