All Answers

0 votes

Hi Neil,

thanks, I could reproduce now. It´s logged as WJ-9010.
I´ll inform you when it´s fixed.

Best regards
Frank

0 votes

Checkboxes can be customized easily in a theme mixin. You can also use a PictureBox that toggles. Buttons too can toggle using the Pushed property.

What is the html for the native switch button?

  • Luca answered Jun 28, 2018 - 2:54 am
0 votes

Wisej caches all static and also all dynamic content. We use Etag instead of max-age. The old way of caching using max-age forces a resource that has not changed to be reloaded after the max-age, or it serves stale content when a resource has changed before the max-age,  or it forces the site to use cache buster links that you have to manually change everytime or receive stale content. Browsers cache using the full URL as the key. When wisej.js or cool-image.png changes and the site uses max-age you have to manually delete the cache on the browser or you have to change the URL. The newer Etag mehod of caching allows the server to decide when a resource is stale and it guarantees that the served content is always up to date.

wisej.wx is a small bootstrapper that may  change. It’s cached until changed.

/init is a payload that may also change. Also cached until changed.

/app.wx is the ajax request URL which obviously cannot be cached.

/wisej.js or /wisej.min.js is a bundle that is dynamically created for each application on first use (and cached using Etag).

/qx.js or qx.min.js is the basic library which also may change. Cached as well using Etag.

The same goes for images in icon packs or served by the app. All cached.

Wisej also pre-compresses (gzip) the scripts and bundles so that the server doesn’t have to compress on every request. They are all cached in /temp.

Check using The Network tab with dev tools. You’ll see the Etag and the 304 response.

HTH

  • Luca answered Jun 28, 2018 - 2:31 am
  • last active Jun 28, 2018 - 2:52 am
0 votes

The name shown in the list is always the header text.

The issue is that sometimes Visual Studio fails to start the design mode for the datagrid columns. We have been unable to reproduce with all VS versions (including Community) and on several OS.

  • Luca answered Jun 28, 2018 - 2:49 am
0 votes
In reply to: Blog notifications

We send the new blog entries in a mailing list managed using mailchimp. There should be one going out in few days.

  • Luca answered Jun 28, 2018 - 2:44 am
1 vote

Handle Click or MouseDown/Up.

  • Luca answered Jun 28, 2018 - 2:42 am
0 votes

Hi Frank,

Attached is a demo project where the combo dropdown “flickers” in 1.4.99.0.

Cheers,
Neil

0 votes

Hi,

I don’t quite understand the question. Can you elaborate on the issues you mention?

0 votes

Hi,

The browser LocalStorage (and SessionStorage for that matter) only store strings (DOMString as defined by the W3C Recommendation)

This means only strings are stored “as is”. Wisej takes care of type conversion for some types: primitives, value types, DateTime, Guid and types that can be converted from string using Convert.ChangeType.

The primitive types are Boolean, Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, IntPtr, UIntPtr, Char, Double, and Single. Please refer to Type.IsPrimitive.

Value types are types that are represented as sequences of bits; value types are not classes or interfaces. Value types are referred to as “structs” in some programming languages. Enums are a special case of value types. Please refer to Type.IsValueType.

In a nutshell custom types aren’t supported. I suggest you serialize the intended type to get a storable string. To get the custom type back, use GetValue<string> and deserialize the string to the intended type. You can serialize and deserialize your type as JSON, but Wisej own JSON serializer/parser is optimized for speed (and it’s indeed very fast) but only supports the above types.

Hope that helps.

0 votes

Duh, sorry. Wisej.Web.Ext.ColumnFilter.dll was missing on the server.  Now to find out why my deployment script missed it …

0 votes

Actually, this ColumnFilter issue may not be version related – it has only recently been added and the client may not have accessed the affected area.  So it may just not work in production.  I’m guessing I haven’t deployed something?

0 votes

Hi Cristian,

That’s how ComponentTools are: lightweight components, they have no events and don’t generate class members, just method members. As they are local members of InitializeComponent method, InteliSense can’t show them out of InitializeComponent method context.

Ordinary controls have the possibility not to generate members, class members. Please have a look at the attached sample, where Button1 GenerateMember is set to false.

Concerning events, the Panel control raises a ToolClick event and the ToolClickEventArgs will tell you what ComponentTool was clicked.

If e.Tool.Name = “openWindow” Then …

On ordinary controls, you have the .NET name (the InteliSense name) and a Name property. They usually match but they don’t have to match. On ComponentTool they don’t match but this is of no importance, since the component only exists inside InitializeComponent method, and the .NET name also only exists inside InitializeComponent method. The Name property is the way to tell what ComponentTool was clicked, as explained above.

Wisej is highly optimized to use as little resources as possible and ComponentTool is a very good example of saving resource consumption.

I attach a VB sample.

  • Tiago (ITG) answered Jun 27, 2018 - 10:38 pm
  • last active Jun 27, 2018 - 10:48 pm
0 votes

Hi Frank,

I have rolled back to 1.4.95.0.  This has fixed the dropdown issue for now.

HOWEVER, a side issue has arisen … opening a form (UserControl) utilising the ColumnFilter produces the attached error.  This only occurs on the production server, everything works OK in my development environment.  (The server rollback only involved replacing WiseJ.Web.dll and WiseJ.Core.dll).

Can you advise?

Regarding the dropdown issue, I’ll look at getting a codebase extract to you.

Cheers,
Neil

0 votes

Hi Andrew,

which version of Crystal Reports are you using?

Best wishes
Thomas

0 votes

Hi John,

thanks for your interest in Wisej.
Just pick “none” or “N/A” if you´re ordering outside the US.

Best regards
Frank

0 votes

Hi Mark,

Both the demo and the download fail. Thanks for bringing this up.

0 votes
In reply to: Log in

Sorry – I originally posted this as a comment, to the questioner may not have seen the response…

 

I’ve written some code to do just this recently. And I work in the security business, so I’m a little more driven than most 🙂

 

I maintain the user identifier and authentication state in the session. I have a modal dialog box which presents a userid/password challenge to the user. A database user table contains the username, and a SHA-256 representation of the password, together with a salt value that is a GUID.

 

The password is serially concatenated with the username ans salt, and SHA-256 hashed a number of times (typically >500) to calculate the stored value.

 

So – on login – take the proffered userid / password – look up the salt in the database. If it’s not there, don’t just return, allocate a random salt and run the data through the algorithm to produce the internal hash (thus not leaking if the userid existed on this system). Compare to the internal representation. If it matches, load the creds to the session, if not, tell the user to try again. Log the attempt, the IP address and all that stuff.

JD

0 votes

Hi Neil,

you can deinstall your existing Wisej version and install any other (older) Wisej version.

Can you please share your code or parts of it with us, so we can take a closer look.
If that´s an option, please send it to frankATiceteagroup.com

Thanks in advance.

Best regards
Frank

0 votes

Hi Frank,

No, no custom theme/mixin.  It was converted from VWG (as opposed to any test app created fresh), but I’ve checked through both the csproj and web.config and can’t spot anything suspicious (not that I know what to look for!).

As a quick fix … this was inadvertently deployed, and clients are yelling … I’d like to roll back to version 95, however when I run the previous (95) installer it fails saying “later version already installed”.  Can you advise?

Cheers,
Neil

0 votes

Okay – after I ran your sample – I figured out that I have to set  column.SortMode = DataGridViewColumnSortMode.Automatic via code after assigning the Datatable to the datasource . Even though some properties from the designer are used like the Data Column Name and Header Text, the Sorting set in the designer did not stick.

This works now. Thanks!

  • edmond girardi answered Jun 26, 2018 - 8:35 pm
  • last active Jun 26, 2018 - 8:37 pm
Showing 7201 - 7220 of 11k results