@Eidinger;
It would be wonderful if you can share a sample. That was also my old question and try.
Thank you.
Hey
First of all: Thx for your solution. I extended it for my needs, but having trouble with a specific behaivour.
I changed the code from your sample with two little things to show you the problem. Not sure, if it is a bug or not.
I attached in JavaScript, that when a “wrong” value is inserted, then the whole text should be selected.
And in code behind: when the control gets entered, then also the whole text should be selected.
Now, when I enter the textbox, everything gets selected as expected. When the first input is a “wrong” (e.g. “a”) and then a correct value is used, then it get’s attached at the end and not overwritten:
The starting value = 0,00
When I enter a wrong and then 1 it becomes => 0,001 and it does not overwrite the 0,00 to => 1 as expected.
Could you please check, if this is a bug or a problem by my code!?
THX a lot – Have a nice start of the week
Harald
Hi Stanislaw,
it´s not easy to find a generic answer for that. The memory for each session varies as components are created and disposed, properties are added etc.
You can use GC to calculate the total memory of the process for all sessions. Or use the .NET profiler API or a profiler tool.
Hope that helps.
Best regards
Frank
Frank, thank you information, will study.
But what about for memory of each session? I need to prognosis for server memory, that will be used for one instance of application.
Hi Stanislaw,
you can limit the number of sessions by setting the maxSessions parameter in Default.json
If you want to show a custom page when the number of sessions is reached and no new session can be accepted, you can modify the notAvailableUrl:

Best regards
Frank
Hi Edmond,
with WJ-8669, active in next Wisej build, we changed the behavior so that now DataGridViewColumn.ReadOnly is NOT serialized at design time when inherited from the parent DataGridView. Even though Wisej is now different from WinForms in that regard, we think it is more intuitive and helps to avoid problems like the one you have hit.
Best regards
Frank
I tried too but couldn’t reproduce. The form going behind is it also a modal dialog? If you create a modal dialog (ShowDialog) and then create a form (Show) the latest form will be inaccessible since it goes behind the modal, regardless of TopMost. The modal are on a much higher z-index.
Sample Attached
There is also a TagCloud sample here.
Hi Eric,
thanks, it´s a regression between dev builds. We have fixed it and it will be included in the next Wisej release.
We´ll inform you when it´s online.
Best regards
Frank
Hi Edmond,
I tried to reproduce with 1.4.54 and the latest build with a simple and more complex test cases but all worked fine regarding the CheckBox column.
Would it be possible to wrap up a small test case so we can spot the differences ? You could either post it here or send it to frankATiceteagroup.com please.
Thanks in advance !
Best regards
Frank
I wouldn’t use the ckeditor to show the form in edit mode, use it to create the form html. There are a lot of internals in the ckeditor that are painful to manage. You can configure it using the Options property. It’s a dynamic object.
In edit mode you can easily show the html either inside an iframe or an html panel or even in an html label. The only reason to use an iframe would if the html file is coming from a URL. When your code loads the html form previously created (and I assume in the db), you can always attach a simple javascript function (i.e. getValues) that reads the values from the fields in the form and returns an array. Then your html panel that shows the form can read everything with one call.
I’ll send you an example later next week.
HTH
It’s still a problem as the whole modified content isn’t read.
Hi Luca,
Thanks for those good explanations. I didn’t copy the modified sample.html file, my fault. Further more even after copying, I had caching problems. 🙁
Now it’s working as expected, but still a problem.
You asked for what I want to achieve : (I have sent you code)
I would like to have the user receive a template Form html (input fields at least, eventually combo+check) presented. He fills the values, then I use a Save button to save the modified html to disk.
In this scenario, we would have 2 user types: the end user just filling the Form through IFramePanel and the editor creating the form through ckEditor.
Editor’s will create in WYSIWYG , so no added function to the created html, or it needs to be injected at save time.
There is a SaveAs button to archive the whole filled form.
As you can see, I had foreseen 2 controls. After those tests, IframePanel seems to require more efforts to get the whole modified data, where with ckeditor I can get it easier (as discussed before), but needs to manipulate the ckeditor toolbar visibility.
Using the ckeditor details you gave me, I will investigate using only ckeditor and hiding/showing the ckeditor toolbar to switch between form filling and form creation.
??Thanks for the teaching I got digging into those javascript interactions, which are completely new to me.
Regards.
Hi Andrew,
happy new year to you as well !
Thanks for your report and sample app. It helped us to reproduce the problem that we logged as WJ-8666.
A fix will be included in the next Wisej build.
Best regards
Frank
You can patch the wisej.web.desktop.TaskBarItem javascript class like this:
qx.Mixin.define("my.TaskBarItemPatch", {
construct: function () {
this.addListenerOnce("appear", function (e) {
this.setShow("both");
this.setIconPosition("left");
this.setLabel(this.window.getCaption()); // <-- change this to this.window.getTaskbarLabel() as indicated below.
});
}
});
qx.Class.patch(wisej.web.desktop.TaskBarItem, my.TaskBarItemPatch);
This will use the title of the form. If you want a custom text unrelated to the title of the form you need to add a way to pass the text to the code above. One way is to add a property TaskbarLabel to the form. You can do that by creating a new form class:
qx.Class.define("my.Form", {
extend: wisej.web.Form,
properties: {
taskbarLabel: { init: "", check: "String" }
}
});
ss
Then extend Wisej.Web.Form and in your C#/VB.NET class, add a string property TaskbarLabel and in OnWebRender:
protected override void OnWebRender(dynamic config)
{
base.OnWebRender((object)config);
config.className = "my.Form";
config.taskbarLabel = this.TaskbarLabel;
}
Hello,
Is it me or the latest Dev Build version 1.4.54 has broken the usercombobox ??
I should be able to create a UserControl, Build, Add it to the Window at design time, add a userComboBox and set it’s DropDownControl as the userComboBox.
I’m missing something ?
As work around (but then what’s the meaning of having a usercombobox instead of combobox):
public partial class Page1 : Page
{
public Page1()
{
InitializeComponent();
userControl1.Location = new System.Drawing.Point(userComboBox1.Location.X, userComboBox1.Location.Y + userComboBox1.Height);
}private void userComboBox1_DropDown(object sender, EventArgs e)
{
userControl1.Visible = true;
}private void userComboBox1_DropDownClosed(object sender, EventArgs e)
{
userControl1.Visible = false;
}
}
Regards.
Yes, thats what I want to do. I solved it now this way. Created a new WebSocket connection between my WiseJ Application and the console application. Instead of adding a new extension to web.config I’m using now a ashx file.
It would seem to me – from how i’m understanding it that you want to communicate from the WiseJ application running in the browser to a console application behind the WiseJ webserver to perform some operation.
You would simply create a standard WebSocket connection on the WiseJ server (in the WiseJ Code – a class lets say) that communicates with the Console Application that is visible on the network.
From user interaction in the browser (WiseJ application) standard WideJ code would triger events on the server. In those events (let’s say a button press) just send your WebSocket commands to the console application. This all happens on the IIS server – not from the Browser.
I suppose you could create a custom user control where you can set the colors and text of a label set to autosize and dynamically add them to a flowlayout panel. If you don’t need custom control – you may just be able to just add standard labels to the FlowLayoutPanel.
