Hi Levie,
yes the meta as the same
I have put a MessageBox for view the width and the height… when I rotate the ios device, the width and the height remain the same
in PC and android, it works
Hi Cristian,
Did you set the viewport in Default.html? If not, try this:
<meta name="viewport" content="width=device-width, initial-scale=1">
You should be able to check e.CurrentProfile.MaxWidth and e.CurrentProfile.Name to determine the Device width and profile being used. I’ll look into the issue with the other properties you mentioned.
Best,
Levie
We created a small (WsieJ 2.0 / visual studio 2017) test project to add a number of controls to a webpage (solution attached).
In our solutions a number of screens consist of 200+ controls. if we run the test program most of the time it takes around 100 ms to create the controls but around 2 seconds before the client browser shows them.
What can be done to speed up the displaying of the page ?
Combined with some processing time to get the data from the database server (between 200ms – 500ms depending on the data complexity) browsing between screens isn’t smooth / to slow.
Please let me know how we can solve this.
Hi Luca
Got to the bottom of it, the code below works
clientEvent1.Event = “execute”;
clientEvent1.JavaScript = “this.setEnabled(false);”;
this.button1.ClientEvents.Add(clientEvent1);
However if clientEvent1 is set to true
clientEvent1.JavaScript = “this.setEnabled(true);”;
It does not work when button1.Eval(“this.setEnabled(false);”); is called
Thanks
Ewan
Hi Luca
Works unless you call up the website on an android phone
Thanks
Ewan
Hi,
I agree with Edwin. I was talking about it yesterday with my colleague… I have completed a porting of an VWG application and I’m forced to decrease the number of controls on the screen, otherwise the drawing times were too long.
initially I thought it was a code problem, but after a careful debugging I’m really sure that it is the drawing action that was very slow
Cristian Zerbinati
The FlowLayoutEngine starts for the left on each new row. You can implement a custom layout by doing this:
public override bool Layout(object container, WinForms.LayoutEventArgs layoutEventArgs)
{
base.Layout(container, layoutEventArgs);
var panel = (FlowLayoutPanel)container;
// here you can go over all the controls in panel.Controls, detect the control in a single line and center it.
}
Thank you Luca, useful reply.
But please look at the attached image, do you think there is no way to center the last key without use margins?
I would need that the buttons they center themselves when the control is resized, and wrap
You don’t need to call button.Update(), it’s never needed unless you are adding a custom property to a control. All you need is to add a client event like the sample that Levie posted.
clientEvent1.Event = "execute"; clientEvent1.JavaScript = "this.setEnabled(false);"; this.button1.ClientEvents.Add(clientEvent1);
It’s executed on the client the moment the button is clicked. It works for sure.
The flow layout panel always lays out the children according to the flow direction. You can set the FillWeight property of child controls to make the fill the remaining space when wrapping. Together with MinSize, MaxSize and FlowBreak it’s a powerful layout container.
You can also use the FlexLayoutPanel setting the layout to either Vertical or Horizontal and with that one you can set the AlignX property.
All these containers (FlowLayoutPanel, TableLayoutPanel, FlexLayoutPanel) are also extenders: they add properties to their children in the designer. Look for FillWeight, AlignX, AlignY, FlowBreak, RowSpan, ColumnSpan, Row, Column, Cell. They should be under the “Layout” category.
Hi Levie
The button still does not get updated to disabled after it has been clicked, until the spinner starts .
Same as using Button.Update()
Would EvalAysnc solve the issue?
Thanks
Ewan
@Luca, i send information and a test case to support [at] iceteagroup.com. Did you recieve all info ?
Don’t worry about navigation panel as I have figured it out how to use it. thanks
I have now created a sample project with one crystal report getting data from MS access database which is included in the project, could you please add functionality to show Crystal Report in a viewer, In my existing desktop application I’m using Crystal Reports so would be grateful if you could add working example of this rather than MS Reporting Services.
I was originally planning to use Treeview control for navigation until I saw navigation bar in the Extensions page on your website, can you please show me how can I use Navigation bar in the MainForm instead of Treeview for navigation.
https://github.com/iceteagroup/wisej-extensions/tree/2.0/Wisej.Web.Ext.NavigationBar
I have done initial analysis and Wisej does provide everything I need to start converting my existing desktop application so could you please help me with these two things so I can start working on conversion.
Many thanks
Hi Luca,
mmmhhh right I have used Firefox but Chrome detect refresh.
well at least I can immediately know when the browser or tab is closed 🙂
Perfect, thank you
Hi Ewan,
Variables declared as “static” in Wisej are available across all client sessions. You would be able to determine how many clients are connected by using one.
Beware of how this works, if you close all instances of the application and then immediately proceed to create a new session, the static variables will still retain all of the information from the previous sessions. The value does not reset until all instances of the application running on the clients are closed and the IIS app pool restarts, IIS crashes, or the server is rebooted. Be careful with what kind of information you’re storing in the variable and be sure to reset it when appropriate.
For storing client-specific information, I would recommend using the Application.Session dynamic object.
For more information about sessions check out the documentation:
https://wisej.com/docs/2.1/html/Session.htm
Does this help clarify?
Best,
Levie
Hi Ewan,
There are a couple different ways you can approach this issue.
As you click a normal button, the clicks are stored and processed in the order they arrive.
You can set dropDuplicateClicks: true in the Default.json file to prevent the clicks from queuing up and only firing when the first click has completed processing for the Button, CheckBox, RadioButton, and MenuItem controls)
You can also attach an “execute” handler in ClientEvents that calls “this.setEnabled(false);” to disable the control whenever it’s pressed on the client. You’ll need to update the server, setting Button.Enabled = false as well to reflect the change.
I’ve attached a sample project demonstrating these methods!
Does this help clarify?
Best,
Levie
Thank you, I don’t have a project as I’m currently evaluating the wisej framework before we start moving existing applications over so if you do have any working example of using crystal report or MS reporting services in vb.net as I don’t have C# knowledge, I did try to convert c# to vb.Net but there were so many errors.
Hi Cristian,
The Wisej implementation of Close and Dispose is similar to that in WinForms. When you show a form modally, i.e., “Form.ShowDialog”, the resources are not disposed automatically. You’ll need to call Form.Dispose() as well.
When calling it on a non-modal dialog, i.e., “Form.Show”, it will automatically dispose of the resources when calling “Form.Close”
HTH,
Levie
