That’s the intended behavior of Focusable = false. It prevents the control from gaining the focus.
Just tried the RibbonBar sample in /Examples and all the events seem to work fine.
That’s the correct behavior since the object is valid, leaving or not leaving is an application concept. When you change the MainForm it’s up to your code to dispose the previous one. Otherwise the pages are reusable.
There are a gazillion. I like this one https://www.jssor.com/
You can also use the CustomWallpaper in /extensions.
https://html2canvas.hertzen.com/
How to use the Wisej is documented in the code, it’s one call:
Html2Canvas.Screenshot((image) => {
….
});
See the overloads for the additional options.
It’s not possible not to load since it needs to be loaded 🙂
We can certainly minify it when debug=false in web.config like the other libraries.
Hi Muhammed,
we´ll publish the ColumnFilter extension along with a sample and a blog explaining it this week.
Best regards
Frank
Filter row great need for all projects like devexpress grid very useful , we are excitedly waiting
Thanks
Hi all,
Just a small note on the side, so we can understand each other.
This is not obvious but “static” in C# translates to different things in VB.NET, depending on what we are referring to, a class or a variable (field/property).
In C#
public static class Customer
in VB.NET is
Public NotInheritable Class Customer
In C#
private static int nextId = 0;
in VB.NET is
Private Shared nextId As Integer = 0
So putting it all together, in C#
public static class Customer
{
private static int nextId = 0;
}
becames in VB.NET
Public NotInheritable Class Customer
Private Shared nextId As Integer = 0
End Class
There is a difference between DataGridViewNumericUpDownColumn and DataGridViewNumericUpDownCell. The column type allows you to change the value type, while the NumericUpDown cell is set to decimal since the NumericUpDown control’s value property is also decimal. Will log the bug.
Also Wisej allows cells of different types to be mixed in the same column. i.e. a column could contain a datetime cell and a combobox cell, etc.
It’s easy to set up a column/cell with the Int32 value type like this:
class DataGridViewInt32Column : DataGridViewNumericUpDownColumn
{
public DataGridViewInt32Column() { this.CellTemplate = new DataGridViewInt32Cell(); }
}
class DataGridViewInt32Cell : DataGridViewNumericUpDownCell
{
public override Type ValueType { get { return typeof(int); } }
}
Selected and highlighted (current, focused) are different things. You can select row 1 and row 1000 at the same time which cannot possibly both be in view. The current (highlighted, focused) row/cell is always scrolled into view.
The Mozilla pdf.js viewer ignores the content disposition filename: https://github.com/mozilla/pdf.js/issues/6396 Google viewer has the same issue.
It should already support using the URL name as the file name. But you have to set the PdfSource to a full URL otherwise Wisej will assume it’s a local file and sends it through the postback url. I tried using this.pdfViewer1.PdfSource = Application.Url + “Files/Wisej-Datasheet-V2.3.pdf”; and I get the file name. But you have to enable CORS in your web server since pdf.js is coming from another URL (unless you host it locally).
About the PDFViewerApplication object or any other javascript object they are walled off by the browser since the viewer runs in either an iframe or embed div and comes from a different URL. In addition, the code is extremely complicated and is executed in web workers making even more difficult to debug.
The best (only?) way to show the document file name is to return the document as a full URL and don’t use the postback handler. If you need to extract, compose the pdf file dynamically you may be able to register a URL path for an handler and process the file there.
When a new client connection is made, I understand that a new instance of the web app is created – and all variables within it are new & initialized within in the instance.
I don’t get how shared variables (within a vb module for example) aren’t also initialized For each app instance/session?
What makes shared variables different to non-shared in this context?
Hi Cristian,
sorry my mistake, was looking at the wrong question.
In the meantime your problem should have been resolved. Can you please retry with 1.4.86 ?
Best regards
Frank
Anything static is shared. In VB.NET it’s probably either static or shared:
https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/modifiers/shared
https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/modifiers/static
Hi Luca,
the actual behavior is not satisfying – especially for an application containing a language switch control.
A (nice) implementation of this feature would be very laborious (as you can see in InterwayDocs app) – in spite of the event “Application.CultureChanged”.
In the meantime I found a “workaround” for me because I unterstood that closing and reopening of the form produces the translation of the form and all of its controls (InitializeComponent() was a good hint from you) … unfortunately the contents of the controls are lost by simply closing and reopening the current form …
Best, Harald
Hi,
I’m being stupid… AGAIN. Making silly mistakes that only a hardened desktop developer would make.
The local serial comms. must only be performed by ONE (the first) client connection. Each subsequent connection must not try to perform the same comms., but should be able to read the results of the comms. being performed by the first connection.
So, “somehow” I need to:
1) make the first connection aware that it is the first connection (the master, if you like), & perform the comms.
2) make each subsequent connection aware it is not the first (master), therefore don’t perform the comms but rather get the data from “somewhere else”.
With the above in mind, what would be a suitable method for the master to store the data for the other sessions? A text file? (Not a database at this stage)
Thanks
Darren
that’s it … thank you!!
You are using the DataGridViewNumericUpDownColumn which takes in values. But the code assigns string values. Also the NumericUpDown editor has its value range between 0 and 100 by default. You can change that setting the properties of the column.
In alternative you can use the DataGridViewTextBoxColumn and set the ValueType to int to force the integere data conversion.
This change works in your test case:
dataGridView1.Rows.Add(“Item 1”, 4);
dataGridView1.Rows.Add(“Item 2”, 3);
dataGridView1.Rows.Add(“Item 3”, 2);
dataGridView1.Rows.Add(“Item 4”, 1);
Shows the form as a modal dialog on the client but not on the server. It’s similar to the typical javascript pattern for modal dialogs since in javascript you cannot block. Wisej supports that pattern on the server as well.
form.ShowDialog((sender, result) => {
// this code is executed when the dialog is closed, result contains the DialogResult.
});
// this code is executed right away, unlike a real modal dialog.
The same concept works for the MessageBox.Show() overload with the close callback handler.
https://wisej.com/docs/html/M_Wisej_Web_Form_ShowDialog.htm
Will update the documentation with more info.
