All Answers

0 votes
In reply to: Download Files

Hi Luca,

It works.

Thanks.

  • Cris answered Jun 28, 2016 - 1:55 pm
0 votes

Hi Luca,

Sample application attached.

Nic

  • Nic Adams answered Jun 28, 2016 - 6:51 am
0 votes
In reply to: Download Files

There are fundamentally two ways:

  • the first is to save to a temp file.
  • the second is to hold on the stream and send it back on a postback.

Wisej supports both. The temp file is also automatically deleted as soon as it’s downloaded. However, access to the temp file download system is not exposed and it’s used internally with Application.Download(Image). Added enhancement to expose Application.Download(Stream): WJ-7380.

To handle postbacks on any component you need to implement the IWisejHandler interface. It gives you total control on what to return and how. See attached sample app. Any component (also non visual) can implement that interface.

HTH

Best,

Luca

  • Luca answered Jun 27, 2016 - 8:38 pm
0 votes

Hi Nic,

1- it has been like this, it’s in the themes. if you look at the /button/states/hovered/properties you’ll see the “cursor” setting. there is no cursor setting for /button/states/disabled/properties/cursor. Will add to all themes.

2- I can’t reproduce this issue. Tried with material-3 as well. Do you enable the button in the Load event? I tried starting with disable and enabled and flipping in the Load event, and on clicks. Let me know if you can share a reproducible sample.

Best,

Luca

  • Luca answered Jun 27, 2016 - 8:12 pm
0 votes

I just noticed that 1.2.12 has been released. This installer works without issue (go figure?).

  • Nic Adams answered Jun 27, 2016 - 8:07 am
  • last active Jun 27, 2016 - 5:07 pm
0 votes

So I’ve finally been able to remove the old install only to find I’m back at the same issue:

 

[SEH_AV_READ_NULLPTR] ACCESS_VIOLATION (0xc0000005) at address [0x002c882a]

Advanced Installer Enhanced UI 13.0 build 70330
*** Stack Trace (x86) ***

[0x002c882a]  —–
[0x00375831]  —–
[0x00373521]  —–
[0x00315886]  —–
[0x7762e40c]  RtlInitUnicodeString()
[0x002cdde7]  —–
[0x003b0000]  —–
[0x002cdde7]  —–
[0x002cd876]  —–
[0x002cd6b4]  —–
[0x002cd903]  —–
[0x00369949]  —–
[0x0037a3e3]  —–
[0x00315e25]  —–
[0x00316601]  —–
[0x0032b58e]  —–
[0x77639902]  RtlInitializeExceptionChain()
[0x776398d5]  RtlInitializeExceptionChain()
[0x002c0000]  MODULE_BASE_ADDRESS

  • Nic Adams answered Jun 24, 2016 - 7:14 am
  • last active Jun 24, 2016 - 4:36 pm
0 votes
In reply to: Mr

Hi Frank

I will look at putting a demo together. It however is just built using the VWG DGV Cell Panel concept, which was put in place to allow a DGV to contain any type of column such as dates and custom combo boxes such as multicolumn / tree view drop down variants.

Does your existing grid allow you to have such columns as listed above? (I have yet to get started with the beta so my apologies here)

Regards

Ewan

  • Ewan Walker answered Jun 24, 2016 - 7:40 am
  • last active Jun 24, 2016 - 4:36 pm
0 votes
In reply to: Mr

Hi Ewan,

thanks for your detailed input about this functionality.

Would it be possible for you to wrap up a small VWG test case for us as well ?

Best regards
Frank

0 votes
In reply to: Mr

Forgot to say that I link the grid columns to the panel controls by making sure they are named so that the control name can be used to access the relevant grid column. eg dtEvidence is a date picker which will pass values to the grid column Evidence.

Hope this helps

Ewan

  • Ewan Walker answered Jun 23, 2016 - 3:26 pm
0 votes
In reply to: Mr

Hi

The approach I use is as follows:

  1. Define a grid in the usual way with one column for each field and an extra column to hold the panel column. (User Control)
  2. Define an empty panel that can be used as the base for any panel or user control you subsequently define. This empty control needs to have an inheritable changed event.
  3. Hide all the columns apart from the panel column.
  4. Use the grid format event to populate the controls on the panel with the hidden column values. Note the controls on the panel are NOT bound to the data source.
  5. When the user changes control values within the panel the changed event feeds the values back to the relevant hidden column in the grid.
  6. I use the Data Grid View header click event to trigger saving the row data.
  7. I use the Data Grid View header double click event to trigger cancel updates or to request row deletion.

With VWG you also have to use a panel cell to incorporate certain controls such as a date picker into the grid. This is much simpler to implement as you are just dealing with a single control which in this case is a data bound column.

Hope this helps

Ewan

  • Ewan Walker answered Jun 23, 2016 - 3:00 pm
0 votes
In reply to: Mr

I always liked that control in Access. Many years ago I developed something similar for Gupta SQLWindows and published it on their magazine at the time. It was called Super Flexible Table Window… July 1997 Page 9

Anyway, I didn’t know that VWG had a panel cell. We already have the infrastracture to use user controls as cells and as editors but it’s not exposed yet and it’s not a DGV cell class.

I’m thinking that we are probably looking at a new dedicated component along the lines of an ASPNET repeater. Maybe a RepeaterPanel with methods, properties and events that are specific for this functionality. We may be able to add a virtual option to reuse a single instance of the panel class when turned on.

In fewer words: no we don’t have it now but will add the custom panel cell and a new RepeaterPanel component to the list. If you can share some insights on the databinding or other features that are useful it’s appreciated.

 

Best,

Luca

  • Luca answered Jun 23, 2016 - 2:31 pm
0 votes

Hi Luca,

Got it.

Thanks.

  • Cris answered Jun 23, 2016 - 2:09 am
1 vote

You have the correct node

Table/Default/Properties/headerCellHeight

That is the height of the column headers, and it’s the themed value of the property DataGridView.ColumnHeadersHeight. This is one of those properties that are themed and changeable in the app, like the colors and others.

However, there is also the Table Header Cell/Default/Properties/Padding that is probably preventing the header height to go below the padding + text. The Table Header Cell acts on the actual cell. I believe the default padding that we have is 5,5,5,5. Set it to 0 or 0,5,0,5 to keep the left and right padding. If the the top and bottom  are 0 you are only limited by the height of the text and the headerCellHeight = 30 should work.

This is related to an issue reported by Tiago where the header of the row headers column gets smaller than the other headers. That’s because with out a text in it, the widget doesn’t enforce a minimum layout.

Best,

Luca

 

  • Luca answered Jun 22, 2016 - 6:40 pm
0 votes
In reply to: Offline Installer

We can certainly have server installers, auto updaters, etc. once we release, or very close to it. The server installer will have to register the assemblies with tha GAC.

However, for server deployments if the wisej assemblies are deployed with the app and not in the GAC they cannot be updated with an installer that is not specific for your app.

Also, because of the way wisej interacts with the client and the server, it will also be relatively easy to implement on open source monitoring app that allows an ISV to manage servers on an intranet and all wisej apps from a central location.

Best,

Luca

  • Luca answered Jun 22, 2016 - 6:07 pm
0 votes
In reply to: Offline Installer

Thanks luca for detailed reply. I understand that server must connected once for installation but what about regular patches issued. How these patches can be downloaded and implement on server without connectivity. I suggest there should have some offline installation process which is normally available to every development tool. Hope you will consider it.

Thanks.

 

  • Younus Moosani answered Jun 22, 2016 - 5:50 pm
0 votes

Just some more info. It looks like whatever went wrong has broken the 1.2.10 install I had on my machine as this now cannot be uninstalled. modified or repaired.  Other programs can be installed / uninstalled without issue.

I’m trying to work out if I can forcibly uninstall the current 1.2.10 package.

Nic

  • Nic Adams answered Jun 22, 2016 - 3:36 pm
0 votes

Sorry should have mentioned that I also tried that.  I rebooted, cleared my browser cache, downloaded a fresh .exe and let it run. It downloaded the .MSI and then nothing.  I should probably also have mentioned that this is my Windows 7 machine.

  • Nic Adams answered Jun 22, 2016 - 2:34 pm
0 votes

Maybe the exe needs to be uodated too? http://demo.wisej.com/wisej.exe

I can’t reproduce  Will ask other devs to ty the fresh download too

 

 

  • Luca answered Jun 22, 2016 - 2:28 pm
0 votes

Hi Luca,

I’ve tried again but now I see the .MSI being downloaded and then nothing happens. I don’t see any error messages or other prompts. I’ve rebooted my machine and tried again but still no joy.

Nic

  • Nic Adams answered Jun 22, 2016 - 1:45 pm
0 votes

Hi Nic,

With this last update we have enhanced the way the context is restored. In your sample you don’t need to restore the context anymore since you don’t use Application.Update().

Now you need to save and restore the context only when:

  • Updating controls from a different thread not started using Application.StartTack() and using WebSocket and using Application.Update().

In all other cases it’s not necessary anymore.

Best,

Luca

  • Luca answered Jun 22, 2016 - 11:53 am
Showing 11061 - 11080 of 11k results