All Answers

0 votes

Hi Franck

thanks for your reply I have numerous questions about the WiseJ framework.

I don’t know if this forum is the right chanel to communicate.

  1. the Form editor in VS 2019 shows a page with a an orange alert sign for each control (see attached screen shot).
  2. The MouseEventArgs for MouseMove or even MouseWheel always shows a Left button press even when if the button was never pressed. It should be None.
  3. in some WiseJ examples there is a reference to Wise.Core and/or Wise.Web that cannot be resolved (see attached PDF)

Thanks for your help.

Regards

Marc

0 votes

Hi Levie,

Of course, when I was trying to bind to the inner controls, I had first set their modifiers to public.

Thanks for your sample, it clears quite a few things. I was basically there with the databound usercontrol apprach, but was missing the ItemUpdate event.
A question: What is the difference between setting the dataRepeater.ItemCount and setting the dataRepeater.DataSource. I was using the DataSource and when I tried to use the ItemCount it gave me the error that ItemCount can be set only for VirtualMode = true.

Thanks again,
Alex

0 votes

If you want to use the designer, you can also create public getters and setters for each control property.

For example:

[Bindable(true)]
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public string CustomerName 
{ 
    get { return this.textBox1.Text }
    set { this.textBox1.Text = value }
}

and then in the designer select the ucOrder UserControl on the ItemTemplate and set DataBindings.CustomerName to your DataSource.

0 votes

Hi Alex,

You won’t be able to bind to an unexposed control within the UserControl since it’s Protected.

There are a few ways you can approach this issue.

  1. Without a DataBinding Approach
    1. Add a setter for your ucOrder’ Order object
    2. Set the control’s data (ucOrder.textBox1.Text = value.xxx)
    3. Add a handler for the DataRepeater’s ItemUpdate event.
    4. Update the ucOrder’s Order object with the new value in ItemUpdate.
  2. With a DataBinding Approach
    1. Add a BindingSource to your ucOrder.
    2. In the setter for ucOrder’s Order, update the BindingSource’s DataSource to the new object.
    3. In your ucOrder_Load, add the appropriate databindings (set to the bindingsource).
    4. In DataRepeater_ItemUpdate, set the ucOrder’s Order to the new item.

If this is at all confusing, just look at the attached sample project :-).

If you have any questions, let me know!

Best regards,

Levie

  • Levie (ITG) answered Jul 24, 2020 - 4:38 pm
  • last active Jul 24, 2020 - 4:44 pm
1 vote

Hi Jackie,

We are aware of the second issue with the datagrid keeping the focus but don’t have a solution.

The problem is that it’s done on purpose in the javascript side: when the cell terminates editing it sets the focus back on the grid. Otherwise, in some cases – especially when a user goes in/out of edit mode quickly, the focus is lost to the document body (focus management in browsers is one of the most annoying things!)

These are the solutions in cases like this:

  • Register a client event and terminate editing on the client : this.grid.AddClientEventListener(“keydown”, “if (e.getKeyIdentifier()==’F9′) this.stopEditing(false);”);
  • Terminate editing and push the update: this.grid.EndEdit(); Application.Update(this);
  • Or use the focus() call in the appear event.

Otherwise you don’t need to call form.Focus() before ShowDialog.

/Luca

  • Luca answered Jul 23, 2020 - 7:12 pm
0 votes

Thanks Levie …

Please if you check the same attachment, I think there is another error in the DataGridView focus … in the Dialog1.cs comment the line:

private void Dialog1_Appear (object sender, EventArgs e) {
//this.Focus ();
}

This is the error … in the TextBox if you double click or press the + key, the Dialog opens and the DataGrid gets the focus … but if I do the same by inserting the row (press the INS key on the DataGridView) , inside the cell if I do the same as indicated above … the Dialog opens but the DataGridView does not have the focus …

Regards

0 votes
  • Luca answered Jul 23, 2020 - 6:18 pm
1 vote

Hi Jackie,

Thanks for reporting this issue. I’ve logged it as #2346 and will let you know when a fix is available!

You can also try adding “Application.Update(this);” right before BeginEdit() and see if that helps at all. It flushes any pending changes to the client.

Best regards,

Levie

0 votes

Hi Gabriele:

I’m attaching a sample demonstrating the usage of the Camera extension.

 

You can find the extension source code here:

https://github.com/iceteagroup/wisej-extensions/tree/2.1/Wisej.Web.Ext.Camera

 

Let me know if you have any questions.

 

Best regards,

Levie

0 votes
In reply to: Process.Start

Hi Huỳnh,

Remember there are two sides of Wisej. The server-side and the client-side. When you call Process.Start() you’re creating a new process on the server. This worked on your local machine because it’s your server. When using an external server. You’re creating the process on that server (not on your client).

If you want to navigate to a different link check out Application.Navigate()

https://wisej.com/docs/2.0/html/T_Wisej_Web_Application.htm

 

Best regards,

Levie

  • Levie (ITG) answered Jul 23, 2020 - 2:36 pm
  • last active Jul 23, 2020 - 2:37 pm
0 votes

Hi Cristian,

#2232 is fixed in the latest Wisej release (2.1.81)

Best regards
Frank

0 votes

Hi Ulisses,

I’m glad to hear you figured it out! You can also wrap up the DevExtreme (DX) widget in the context of the Wisej widget.

For example:

this.widget = $(this.container).data(“dxPivotGrid”);
Note: "this" is the client-side Wisej widget.

It makes later access of the DX widget easier.

From the Server (C#):

widget1.Call("this.widget.doSomething", arg1, arg2);

From the Client (Console in Chrome):

widget("id_XX").widget.doSomething(arg1, arg2);
Note: You can find the ID of the Wisej widget using the DOM explorer in chrome.

 

If you want to get the result of JS execution on the server, check out this post:

https://wisej.com/support/question/get-the-return-value-of-the-javascript-function-embedded-in-the-widget-control

 

HTH,

Levie

  • Levie (ITG) answered Jul 21, 2020 - 2:53 pm
  • last active Jul 21, 2020 - 2:54 pm
0 votes

It worked! I got it with:

Widget1.Eval(“$(this.container).data(“”dxPivotGrid””).getDataSource().expandHeaderItem(“”row””, [“”Pizza””]);”)

or

Widget1.Eval(“$(this.container).data(“”dxPivotGrid””).getDataSource().expandAll(“”Categoria””);”)

Thank you so much, Levie!

  • Ulisses answered Jul 20, 2020 - 11:49 pm
1 vote

Hi Ulisses,

You can use something like this in your Widget initScript:

$(this.container).data(“dxPivotGrid”).getDataSource().expandHeaderItem(“row”, [“Pasta”]);

Check out this demo from DevExpress:

https://js.devexpress.com/Demos/WidgetsGallery/Demo/PivotGrid/Overview/jQuery/Light/

BTW, if you want to use all of the JS DevExtreme controls in C# / VB.NET, we provide the complete control set as a premium extension! Send a message to sales AT wisej.com if you’re interested. We also offer the Telerik Kendo, Syncfusion Essential JS 1, and Infragistic’s Ignite UI control sets.

 

Let me know if you have any questions!

Best regards,

Levie

  • Levie (ITG) answered Jul 20, 2020 - 9:40 pm
  • last active Jul 20, 2020 - 9:44 pm
0 votes

You probably have to install a plug in on each client machine to support browser-based biometric authentication and you need to find a device that has a javascript sdk.

Basically, if you have a product that can authenticate from javascript then you can use with Wisej.

If the OS and PC already have biometric authentication and are on a corporate domain then Wisej can use the user already logged in.

  • Luca answered Jul 20, 2020 - 4:26 pm
0 votes

Hi Marc,

you can use a theme mixin using the drop state.
Please see my latest answer in this thread:

https://wisej.com/support/question/listview-drag-drop-reorder-items

Best regards
Frank

0 votes

Cristian, Edmond,

sorry for the very late reply, just noticed this topic was still pending.

Anyways, here is the old sample with the theme mixin added to benefit from the drop state.

Hope it helps.

Best regards
Frank

0 votes

Hi Franck

thanks for the clarification which is helpful.

I have a question about the ListView.

Is there an Owner draw option as I would like to provide visual feedback when reordering a ListView by dragging and dropping items?

The idea is to draw a line showing where the items would be moved.

regards

 

Marc

0 votes

Hi Marc,

you can either use the Tag property of an item or the dynamic object UserData.
For example:

newItem.UserData.moreInfo = "more info";

To determine which item is selected please use the SelectedItem.

If you want to know which item is clicked, you can handle ItemClicked event
and find the clicked item in e.Item.

Hope that helps.

Best regards
Frank

0 votes

Hi,

the javascript render is very fast and helpful. Now i can display dynamic number of lines per cell depending on data. But i got another problem, how to set height of row to fit its data when some rows have 5 lines in cell and others have only 1 or 2 lines. I don’t use VirtualMode and grid is readonly.

Thank you very much,

Page

Showing 4661 - 4680 of 11k results