All Answers

0 votes

Hi Andrew,

We can add the GridLines property, it would be easier to tie it in the theme system since it would translate simply to a state, like the BorderStyle. I’ll log the enhancement and will also send you a cell renderer which can always be handy.

/Luca

  • Luca answered Apr 25, 2017 - 3:39 pm
0 votes

Hi Steve,

The WebBrowser control doesn’t have the Html property, it’s meant to be used to browse a Url since it’s an IFrame on the client.

With Wisej you can display HTML in any control that can show text: label, button, combobox, radiobutton, etc. It’s enough to set AllowHtml = true and the Text property will accept HTML code. We also have the HtmlPanel control that has the Html property that you can assign with html text, or the HtmlSource property that you can assign to an html file in your application.

HTH

/Luca

 

  • Luca answered Apr 25, 2017 - 3:37 pm
0 votes

Check your quote types.  In your body tag, you have a left-double-quotation mark opener and ASCII double quotation marks closing it. In VB.net , that line would not work without single-quotes  (ie, apostrophe) because double-quotes are string terminators.

0 votes

Hi Luca, from what I saw we would need to set listview/grid-cell.widthRight and also listview/grid-row.widthBottom, because the vertical and horizontal lines come these 2 places, respectively.

So to confirm, WiseJ currently does not support the simultaneous use of Listviews with different gridline styles, unless we override wisej.web.listview.CellRenderer.  I would definitely be interested in that because I hope to achieve this (some look better with lines, and some better without). Do you know when WiseJ might support this natively?

Another consideration would be for a Listview.Gridlines property like WinForms .. however its absence has encouraged me to look into how WiseJ themes work 🙂

  • Andrew Niese answered Apr 24, 2017 - 9:35 pm
  • last active Apr 24, 2017 - 9:37 pm
0 votes

Hello Adil,

I just tested the sample you linked to using both  the chrome emulation and a real mobile device (iPhone 7). See small video of the chrome emulation here: https://www.screencast.com/t/U6M0403aJOJc

The issue that you may have encountered with the sample is that it doesn’t create enough items for a portrait mobile device so it doesn’t initialize the scrolling. That’s simply an issue with the code in the sample. If you increase the initial number of created panels to 20 or 30 it starts scrolling.

/Luca

  • Luca answered Apr 24, 2017 - 6:34 pm
0 votes

Hi Andrew,

Some complex widgets like the DataGridView and the ListView where they have inner components that are not really component, like the “grid-cell” aren’t able to override the child component by changing the name of the parent’s appearance key. Their appearance key is set in the cell renderers and it’s in the code as “listview/grid-cell” for the  listview cell renderer and “table-cell” (top level) for the datagridview cell renderer.

This is something that we’ll  improve. One of the issues was that cell renderers are created before the listview (or datagrid) widget have completed their initialization. If you need to have ListView controls with different themes, I can send you a simple javascript lib that overrides the built-in “wisej.web.listview.CellRenderer”. You can actually install custom cell renderers for each column or each cell.

You can change the appearance and attributes of the container “listview” but to change the cells you have to override the theme, like this:

{

“appearances”:{

“listview”: {

“inherit”:”listview”,

“components”:{

“grid-cell”:{

“states”:{

“default”:{

“styles”:{

“width”: 0

}

}

}

}

}

}

}

}

  • Luca answered Apr 24, 2017 - 6:11 pm
0 votes

Looks like a time zone problem when parsing the date/time received from the client. Logged as WJ-8208.

Thanks!

/Luca

  • Luca answered Apr 24, 2017 - 2:58 pm
0 votes

We have very few performance optimizations that are specific to Wisej, most are more or less common .NET optimizations. Will add a tips & tricks section. Thanks!

/Luca

  • Luca answered Apr 24, 2017 - 2:51 pm
0 votes

There are a couple of ways to hide the scrollbars and still scroll on mobile devices. You may also have tiny scrollbars that becomes bigger when the widget is focused. And you can disable completely the custom themed scrollbars and use native scrolling instead.

However, native scrolling causes problems with the datagrid because browsers don’t let you set the scroll step size and they scroll a different number of pixels( 40, 50 or 60 for each step). Our grid implements fully virtual scrolling with variable height rows so we need the scrollbar to scroll by 1 row. We can use pixel scrolling with fixed height rows.

You can bind a datagrid to many different data sources. The DGV control lets you define a template row, row styles, cell styles, etc. If you want to put custom html inside a cell, you can set AllowHtml = true.

The  momentum scrolling is an accelerated scrolling that should occur when you swipe. It’s not supported for datagridview and listview controls since their rendering is virtual and limited to the viewport. It should work for all other scrollable content. I will test and get back to you with more details.

/Luca

 

  • Luca answered Apr 24, 2017 - 2:49 pm
0 votes
In reply to: Changing Licence Key

Do you want to move a license to another user account? Now you can access all the licenses that you purchase in one  place: /account.

  • Luca answered Apr 24, 2017 - 2:43 pm
1 vote

If you set the VirtualListSize to 500 your implementation of RetrieveVirtualItem has to return a ListViewItem for all 500. You cannot have a null item.

When VirtualMode is on, the items are not stored by the ListView. Every time the code requests an item the implementation will call RetrieveVirtualItem. It’s up to you to provide and cache the virtual items. The ListView doesn’t prefetch all the items, it only fetches the “page” requested by the client, which is about 100 items, so there is no way for the server or the client to know the total number of virtual items without VirtualListSize. If you set the VirtualListSize to 500, the client will know that there are 500 items but it will request only the first 100 and will keep requesting items as the user scrolls.

On the server side, every time your code uses the Items[index] collection, the implementation calls RetrieveVirtualItem. The best implementation is to create and cache virtual items processing the CacheVirtualItems event and then just return the items from your cache when processing RetrieveVirtualItems.

You can find a detailed explanation and example here: https://msdn.microsoft.com/en-us/library/system.windows.forms.listview.virtualmode(v=vs.110).aspx

/Luca

 

  • Luca answered Apr 24, 2017 - 2:40 pm
  • last active Apr 24, 2017 - 2:41 pm
0 votes

Placing a control inside a cell is not yet possible. The datagrid in wisej only renders the html for the visible viewport and we need add a system to “move” widgets into the visible cell as they are rendered. It’s on the todo list since we already have the DataGridViewCell.Control property, but it’s a low priority at the moment.

However, you can:

1- Place any html (and css) inside a cell (set AllowHtml = true).

2- Custom paint a cell, see: https://wisej.com/examples/ You can draw sparklines, charts, or anything else that can be drawn into a Graphics object.

/Luca

  • Luca answered Apr 24, 2017 - 2:34 pm
0 votes

Hi Frank,

Thanks for the sample code. After I read the sample code, I can manage to make my program work with Virtual Mode.

However, I don’t know why I need to set the VirtualListSize equals to the number of items.

For example, my data source contains 28 records. If I set VirtualListSize to 500, it will fail. If I set VirtualListSize to 10, it will fail, too. I have to set VirtualListSize to 28, that is, same as the number of items to be created.

This is the same case in your sample code; The VirtualListSize is 5000000 in your sample, and you create 5000000 items.

So, what is the usage of VirtualListSize ? Why not the ListView detect the number of items in the ListView.Items collection and set it automatically and internally, as it can’t be any value other than ListView.Items.Count ?

Thanks and regards,

Felix CHAN

 

0 votes

Hi Felix,

please find here a sample for virtual list view with 5.000.000 that we took
from the Mono test suite:

http://wisej.s3.amazonaws.com/support/attachments/ListViewTestVM.zip

For the problems you have encountered, would it be possible to send us
a stripped down test case ? If yes, please send it to frankATiceteagroup.com

Thanks in advance !

Best regards
Frank

 

0 votes

Hi Luca,

There is no error or stack trace.. VS-2013 just crashes. It crashes before the Inheritance Picker is displayed. I’ve included a little video.

Choosing anything ‘Inherited’ causes the crash. It made no difference if a form was opened first or not.

Thanks,
Robin

0 votes

 

TinyMCE (and CKEditor) are all client-side-only widgets. Nothing runs on the server, it’s not like ASP.NET controls.

You can download and host the javascript, css, and plugin files as part of your project, simply change the static Wisej.Web.Ext.TinyMCE.BaseUrl property. Hosting the tinymce files on your server also allows you to use the editor behind a firewall.

Otherwise you can use their free CDN (there are also other free CDN services that host TinyMCE). The cdn key seems to allow you to configure your personalized CDN and premium plugins.

Wisej works with any configuration, it doesn’t matter how and where the js/css files come from.

HTH

Best,

Luca

  • Luca answered Apr 21, 2017 - 3:25 pm
0 votes

Hi Robin,

Can you please send a screen shot of the error or stack trace?

Do you get the exception after picking the base class or before seeing the inheritance picker wizard dialog?

I get this if I try “Inherited {anything} before having opened one form in design mode. It’s VS that is unable to load the Wisej.Web.Design dll when not in the GAC or copied in a local directory. As soon as I open one form in design mode it starts working.

Let me know.

/Luca

  • Luca answered Apr 21, 2017 - 3:18 pm
0 votes

So With Tiny MCE – looking at their site -does it actually run from their server or my local server ?

Also – does it need to  be licensed ? Their site mentions a “Cloud Key”

0 votes

Thank you very much for this solution.

  • Bitpainter answered Apr 21, 2017 - 7:13 am
  • last active Apr 21, 2017 - 7:36 am
0 votes

Hi Bitpainter,

there are a couple of ways to achieve this.

Please find attach a sample that illustrates 2 ways:

a) using a callback mechanism
b) replacing html tags with a regex

Hope that helps.

Best regards
Frank

Showing 9181 - 9200 of 11k results