All Answers

1 vote
In reply to: Gantt editor

No need to convert it. Wisej can use any third part javascript library as is. Use the Widget class to import the libraries and to create a Widget. Or use it in a IFramePanel. If you download the source code for one the simple extensions like the Panorama viewer you can see how to include a third party widget. It’s basically the same you’d have to do to include it in a plain html  page.

  • Luca answered Mar 5, 2018 - 11:11 pm
0 votes

Awesome extension!

thank you

Cristian

0 votes

Hi,

 

Is it possible to change the wisej ajax loader?  I would like it to be the same with the one in theme named “ajax-loader”.

  • SERKAN AKTÜRK answered Mar 5, 2018 - 1:27 pm
0 votes
In reply to: More on DataGridView

Hi,

with Wisej 1.4.64.0 I had to add this code to MyDataGrid.cs so that the keys CTRL+C were recognized from the control.

protected override bool IsInputKey(Keys keyData)
{
if (keyData == (Keys.Control | Keys.C))
{
return false;
}
return base.IsInputKey(keyData);
}

Otherwise the override ProcessDialogKey was never executed.

Jens

0 votes
In reply to: Desktop to Page

The correct procedure would be to assign null to Application.Desktop and/or to dispose the main desktop:

Application.Desktop.Dispose();
Application.Desktop = null;
Application.MainPage = new Page() { BackColor = System.Drawing.Color.Red }; // test page

However, there is a bug and the new MainPage is not immediately visible because it’s created before the active desktop is updated on the client. It will be fixed in the next build. For now the workaround is to add:

Application.Navigate(“/”);

Which is also a good idea when logging out to let the client browser clear up its memory.

 

  • Luca answered Mar 3, 2018 - 5:34 pm
0 votes

Hi Luca,

You wrongly understood the reason for the background process in my sample. It wasn’t intended to load the treeview, but to simulate a background long running process.

But no problem, your explanations and the modifications to the sample allowed me to solve partially the problem. It gives me a working solution, but I have to further investigate and test to develop the final optimal solution.

Your additional comments are more then welcome, even in the case it wouldn’t help me, which isn’t the case, it will help another guy from community.

I didn’t knew about the lazy mode.

Regarding the lazy load, I have the effect that a parent node without items underneath keeps the spinning when it get’s it’s triangle clicked.

I presume setting showloader=false for the clicked node solves this, but in the Buildtree I can’t find a reference to the clicked node. The selectednode is still the previous one.

Thanks for the lightning fast answer you gave to this previous post.

Regards.

0 votes

The internal button layout reproduces the winforms button layout. See https://wisej.com/support/question/bug-btn-imagealign

There are two grids with 9 positions corresponding to the layout position of the text and the image. Except for the Overlay option.

The grids adjust their size to the content proportionally. So when the text is longer it will use a larger grid. The size of the icon is set in the theme. The problem you are seeing is that the text side of the grid uses half of the button when the text is shorter than the button, which is the same in WinForms.

You can achieve what you are looking for, IIUC, see image below, but making the text portion longer. You can do that buy setting AllowHtml = true and use this text:

<div style=”width:500px; padding-left:10px”>BUTTON 1</div>

screen

 

  • Luca answered Mar 2, 2018 - 3:51 pm
0 votes

Hi Ewan,

thanks for your message. It´s not a bug though. You need to set TreeView.ShowTooltips to true.
It defaults to false, just like in WinForms.

Hope that helps.

Best regards
Frank

1 vote

The first problem I see is System.Threading.Tasks.Task.Factory.StartNew. This starts a new thread but the new thread knows absolutely nothing about the wisej context so any update to the client is lost. The thread fires immediately onFinished() which ends up in BackgroundCompleted_Handler. The first line is MessageBox.Show() which exists immediately with code DialogResult.Abort because it’s run out of context (or out of bound).

The next call is Init_TreeView() which works but it cannot update the client because it’s being run from an independent thread without having restored the session.

Use Application.StartTask() instead. It starts the task within the session context. Use Application.Update(this) to push the update to the client. When the client is affected by a background thread there is no request/response so the server has to push the updates to the client, or you have to hit refresh on the browser.

Two more comments 🙂

  • treeView1.SuspendLayout/ResumeLayout is not needed. Suspend/ResumeLayout suspends the layout of child controls when docked or anchored or in a layout panel. It lets you change a control size and location without triggering the layout engine.
  • There is a much better way to populate large trees: lazy loading. With Wisej it’s easy. Just populate the first level of nodes, set the property IsParent = true on the nodes (they will appear as parent nodes) and optionally set the property ShowLoader = true on the “lazy” parent nodes. Now when the user expands the node, Wisej will show a tiny loader in place of the open/close button while the server populates the children. On the server handle either BeforeExpand or AfterExpand and if the node has zero children, add only the first level children and so on. This way the nodes are populated as they are used with the neat loader spinning next to the node being expanded.

See attached modified sample.

  • Luca answered Mar 1, 2018 - 5:12 pm
  • last active Mar 1, 2018 - 5:12 pm
0 votes

That’s correct. The docking order is the same as the control order in the Controls collection. Use uc.BringToFront() to move up the Fill control. The same applies to the Dock.Top and Left where they intersect and to the stack order.

  • Luca answered Mar 1, 2018 - 4:23 pm
0 votes

Hi Cristian,

This is as designed since the client captures the mousedown to move the control. Click and MouseClick events should fire.

Best regards

Frank

0 votes

Hi James,

the fix for WJ-8746 is included in our latest Wisej dev build (1.4.65) that has just been released.

Best regards
Frank

0 votes
In reply to: Application Developer

Hi Michelle,

we have added LowercaseUrl to default.json. When set to true, the URL will get rewritten to be always lowercase.
It´s logged as WJ-8757 and fixed in our latest dev build (1.4.65).

Best regards
Frank

0 votes

Ok fixed it

You need to obtain the windows identity using

private Windows Identity WI = ApplicationBase.UserIdentity;

Then any calls to the ReportingService need to be made by impersonating the windows identity eg

using (WI.Impersonate())
{
LoadReports(trvReports.Nodes, “/”);
}

Where LoadReports populates a tree view using the Report Server catalog according to the user permissions

HTH

Ewan

0 votes

Hi Robert,

this a generic issue with Safari, not specifically related to Wisej.

Find more information e.g. here:

https://stackoverflow.com/questions/20696041/window-openurl-blank-not-working-on-imac-safari

Best regards
Frank

0 votes

Thank you – this solution works great!

0 votes

Thank you.

  • Robert answered Feb 27, 2018 - 10:21 pm
  • last active Feb 27, 2018 - 10:25 pm
0 votes

Hi Robert,

I think the best way to store that information is using a cookie.

If you want to have a different behavior on the Desktop than on the Mobile you  can use Application.Browser.Device to detect the device type.

 

Possible values are Desktop, Mobile, Tablet.

Hope that helps.

Best regards
Frank

0 votes

Here is a small sample. To move the mdi child menu to the tab button, select app.CustomTabbedMdi.js in the project and change it to “Embedded Resource”.

There are two tree views. One is the standard with some minor color settings. The other is also the standard tree but it uses the RightNode class that moves the open button to the right and adds the vertical line.

Runtime

screen2

Design

screen1

 

  • Luca answered Feb 27, 2018 - 8:51 pm
  • last active Feb 27, 2018 - 8:52 pm
0 votes
In reply to: DataGridView Filter

In this post it said that there was going to be a FilterPanel extension coming out at the end of January.  Any update on this?

Thanks -Tim

Showing 7741 - 7760 of 11k results