Yep, the problem is the sorting by display index. When it’s all -1 (the default), the order is scrambled since we use List<>.Sort() which uses quick sort which is an “unstable” sort and items with identical values are not guaranteed to keep their order. My guess is that below a certain number quick sort is stable.
Anyway, it’s fixed in the upcoming update.
Thanks,
Luca
After further investigation, if you have more than 16 columns, the order is mixed up. Remove columns and have no more than 16 and the order will stay correct.
Just noticed that if you are using VB.NET, the Wisej Web Desktop template for VB is wrong, this line is missing from Program.Main:
Application.Desktop = New MyDesktop()
Thank you,
Luca
The Web Desktop template is the same as the Web Application plus the Desktop control assigned to Application.Desktop in Program.Main.
Best,
Luca
I just noticed the sample I sent saved the columns in the changed order. The correct order should be idcode, jobid, lastname, firstname, trade, mobile, airport etc. If you use the designer to change the order, it will revert back to a different order. This behavior only occurs once you have more columns than the visible grid.
Hi Tiago,
Yes, there is already the “text-placeholder” named color under “colors”. If you change it using the theme builder, you may have to hit the refresh button above the preview. The placeholder style is one of those tricky css styles not supported equally by all browsers.
Wisej uses the “text-placeholder” color to generate the appropriate CSS for all browsers.
The font is inherited from the widget itself. Placeholder (in Wisej is the Watermark) is available for the TextBox (multiline too), DateTimePicker and ComboBox. Basically any widget using an editable field.
Best,
Luca
Hello Tung,
I think you can use Application.Session to dinamically define session variables:
string Name;
int Id;
Name = “Jack”;
Id = 125;
Application.Session.UserId = Id;
Application.Session.UserName = Name;
then use:
Application.Session.UserId
Application.Session.UserName
in your application forms or code.
Mariano
Tried again to activate the server license replacing the code in web.config without success.
Is it possible to include the Watermark color and font in the themes?
Hi David,
In addition to Nic’s reply, I’d like to add that threads don’t really matter in Wisej and you don’t need Invoke() to make cross thread calls. You can simply call any method on any component from any thread.
We have re-implemented Invoke and BeginInvoke to provide similar functionality as WinForms but within a server environment:
private void button1_Click(object sender, EventArgs e)
{
this.button1.Text = "1";
this.button1.BeginInvoke((Action)delegate() {
this.button1.Text += "2";
});
this.button1.Text += "3";
}
The button’s text will be “132” and *not* “123”, because the code in BeginInvoke() is executed *after* everything else is done in Wisej and right before returning to the client. So there is no timer or message overhead, it’s all clean and straightforward.
If you’d like to upload a simple test case showing what you’d like to achieve we can help further.
HTH
Best,
Luca
Hi John,
You can’t use WinForms controls in Wisej. If you have a third party control with the source code it makes it a bit easier to recreate the control using Wisej, but most of the code from the WinForms control cannot be used since it’s most likely based on Win32 SDK (messages, painting, etc.). Wisej control don’t do any drawing and don’t use any Win32 SDK at all. They are all server components that render their UI through JSON properties sent to the client. The client side uses the JSON map to create the corresponding JavaScript widget. C#/VB.NET on the server and JavaScript on the client, communicating using JSON. Doesn’t get cleaner that this. 🙂
If you have a control that is not currently supported and there is no equivalent, you need to build something that can replace it. With Wisej it’s easy, but it still can be a lot of work.
Take the RichTextBox control, for example, it’s easy to extend TextBoxArea and map a good portion of the properties and methods. On the client side you’d have to use an HTML editor and on the server side you’d need an RTF to/from HTML converter. We left this out because it would have been time consuming at this stage with little benefit. We will instead upload two HTML editors to the Extensions page: TinyEditor and TinyMCE. They don’t support RTF but support HTML.
Best,
Luca
Hi Tiago,
thanks for bringing up that idea. In fact it´s already included in Wisej.
The property is called Watermark and is available for text boxes and combo boxes.
It´s color can be change through CSS, for example by adding a css file to the project and including it in default.html.
See here: https://css-tricks.com/snippets/css/style-placeholder-text/
Best regards
Frank
Hi Andy,
you can use Visual Studio Community Edition 2015 (free), not VS Express for web development to work with Wisej.
In the Wisej installer choose Visual Studio 2015.
Best regards
Frank
Hi John,
See the details here: https://wisej.com/license-information/ You can download the pdf license, which is the same EULA in the installer.
In short, the “Free Source Code Privileges” section is a “light-weight” insurance against Ice Tea Group (around since 1998) going out of business or dropping the product. It gives you the right to receive the full source code under certain circumstances. It doesn’t protect you against bad business decisions like selling a license for $35K.
HTH
Best,
Luca
‘The full source code is available as a free Code Warranty’. How does that work; can I get clarification what that means? Is it, if I pay for the 2017 release, and in 2019 the company gets sold, drops support, or decides to substantially up to price to $35000 per upgrade/update, I can then get the 2017 source code free?
Hi Ewan,
Sorry for skipping your other post, the web site was being switched. The UserComboBox is going to be in the next update. The UserPopup control is the base that was needed for the combobox.
Best,
Luca
Hi guys, this is how it (should) work:

<configuration>
<appSettings>
<add key="Wisej.LicenseKey" value=""/>
It can replace an existing one. Wisej checks the license key when the application is loaded and saves it on the server so it doesn’t have to load the license over the over. It’s loaded and activated once. If the key in Web.config is different than the locally saved license then Wisej will activate the new key and download a new license.
When the license expires, wisej will also automatically try to download the renewal without requiring any manual intervention. That is only in case the installed version is newer that the license expiration date since licenses are perpetual – what expires is only the free update period.
HTH
Best,
Luca
Hi,
I’d like to add to Tiago’s reply that we are on the same boat in terms of VWG projects. We have several large projects in production or close to production based on a build of VWG that we have painfully fixed over the years. We started planning, trying, testing (and throwing away code) to replace VWG two+ years ago. This is to say that we *need* Wisej in our projects as well. Our migration services is already using it to replace VWG projects so we basically will have the same issues as all the VWG developers that decide to try Wisej.
Best,
Luca
Hi Rui,
If you have a developer license, you have received two keys: a developer key (that you used on VS) and a server key that you must use on the web.config of all the applications you publish on IIS.
Frank will correct me but as far as I understand the developer key can be activated three times (home, office and laptop).
The server key can be activated on three servers (is this correct Frank?) but I advise you to use the “minimum 2 dots” rule. I mean your URIs should be something like:
as I found out that
count as two activations. Well, at least it happened to me…
Thanks Ralf.
This issue is already fixed in the final release.
Best regards
Frank
