https://www.screencast.com/t/P7vPTn6io
Add a “label” component under “menuBar/item”. You can see the component in the status bar when you click on it. Add a default state and hovered state. In the default state styles add widthBottom: 2 and colorBottom:”transparent”. In the hovered state styles add colorBottom:”green” and you are done.
"label": { "states": { "default": { "styles": { "widthBottom": 2, "colorBottom": "transparent" } }, "hovered": { "styles": { "colorBottom": "green" } } } }
There is no message queue, it’s a web application.
The easiest way is to create a pdf file or stream and use the Wisej.Web.PdfViewer control.
Gracias por su atención.
Wise 2 utiliza .NET Framework y, por tanto, está disponible a través de Windows y de un contenedor de Windows. Wisej 3 utilizará .NET 5 y tendremos una deportación en Linux y un contenedor linux. Aquí está el mapa de rutas para más detalles https://wisej.com/roadmap/
Gracias,
Kevin (ITG)
Hi Vincent,
We’ve investigated the issue and a fix is under its way on the next release,
I have a suggestion that is not related to this issue, you can change Me.FlowLayoutPanel1.ScrollBars = Wisej.Web.ScrollBars.Vertical to Me.FlowLayoutPanel1.ScrollBars = Wisej.Web.ScrollBars.Hidden. When hidden you can still scroll with the touch but the scrollbar is not visible.
Best regards,
Alaa
Hi Vincent,
Can you please tell us which Wisej version you’re using?
Thank you,
Alaa
Ops!
I didn’t see the property APIKEY of the GoogleMap control, sorry.
You need to use your google maps key. Check also the google maps api and errors:
https://developers.google.com/maps/documentation/javascript/error-messages
By design as the fields are set by code you have to add the new row to the table programmatically
Thank you!
Application.IsTerminated is going to help me a lot.
Hi Luca.
Thank you for your patience.
Yep, I had found out the Wisej.Web.Application.EnableUnloadConfirmation, but that doesn’t give me a chance to trigger any code in the server.
Regarding the JS code, is it possible to call a Method in the Server from the function() code?
Cheers.
Ivan
There is no way for a closed tab or browser to send a message back to the server. And there is no difference in any browser between navigating, refreshing, editing the url, or closing the tab or closing the browser. All you can do is show an alert and you can’t even control the text and it doesn’t work all the times. You can use Wisej.Web.Application.EnableUnloadConfirmation = true.
On the client you can use
Wisej.onLoad = function() {
Wisej.onBeforeUnload = function() {
// your js code
};
Wisej.onUnload = function() {
// your js code
};
}
But safari on iOS doesn’t fire either one. Basically there is no guarantee it ever works. That’s just the way it is and there is no way around it.
Nothing, the websocket is closed. You may find an exception in the event viewer from the IIS websocket library. If you have a loop in a thread check Application.IsTerminated or it will keep running until the server is shut down. Threads keep running, the concept of a session doesn’t exist in .NET or in any other system, it’s entirely created by web frameworks.
You need to install the C# 6.0 compiler for VS2015 (it’s on nuget) or use VS2019.
Please find attached an updated project that includes an AutoResizeTextBox class and a live update of the size. Feel free to tweak the javascript and VB.NET code. In case you need a custom control, we have special support packages in 4-h blocks. https://wisej.com/custom-integrations-request/
Hi again!
I thing there should be a little more.
I need textbox to resize upon its initial text length. And when typing in it text box to cause resizing of flowlayout panel. Now textbox and it’s label goes to the left.
Please find sample project attached.
I need it for the scenario as shown in image attached: autoresizing label+autoresizing textbox in text input editor control, baset on flowlayout panel container.
Please find image attached.
The ThreadBegin and ThreadEnd events are not fired by regular threads (it’s a wisej event fired by wisej threads). Regular threads don’t fire any event. Set StaticsInstance = null before accessing so it’s restored from the session. Or use the Application.Session directly.
This is my “Statics”:
public static class OSEStaticsHelper
{
static OSEStaticsHelper()
{
Wisej.Web.Application.ThreadBegin += OSEWjStaticsHelper_ThreadCleanUp;
Wisej.Web.Application.ThreadEnd += OSEWjStaticsHelper_ThreadCleanUp;
}
[ThreadStatic]
private static StaticsWrapper StaticsInstance;
private static void OSEWjStaticsHelper_ThreadCleanUp(object sender, EventArgs e)
{
StaticsInstance = null;
}
public static StaticsWrapper Statics
{
get
{
if (StaticsInstance == null)
{
string key = typeof(StaticsWrapper).FullName;
StaticsInstance = Wisej.Web.Application.Session.key;
if (StaticsInstance == null)
{
StaticsInstance = new StaticsWrapper();
Wisej.Web.Application.Session.key = StaticsInstance;
}
}
return StaticsInstance;
}
}
public class StaticsWrapper
{
public string ApplicationKey;
...
}
}
Hi Luca.
Thanks for the reply!
Unfortunately it didn’t appear to make a difference, even using RunInContext all static values are still returning “null” inside the ASync method. Maybe I will have to change my Socket connection workflow.
Hi Ivan, the socket callback is coming from a different thread and it’s out of context. The task in Application.StartTask() preserves the context because Wisej installs its synchronization manager, but a socket event is a different thread. Try this:
Application.RunInContext(this, () => { your code });
or, if you also need to update the browser:
Application.Update(this, () => { your code });
