All Answers

0 votes

Yes, it reverts to the original column title. It’s logged as WJ-7795, will be in the release update coming up tonight.

The warning icon is not an error, it simply means that the widget didn’t render in time, the 60 column would do it. If the widget generates an error it is either displayed in the widget itself in the designer or shown as a message box, depending on the severity.

The upcoming update lets controls ask for more rendering time, it should solve the warning you get for large datagrids.

Best,

Luca

  • Luca answered Nov 15, 2016 - 5:59 pm
0 votes
In reply to: URL arguments

No, Wisej pages are standard html, aspx, mvc, or anything else that the browser can load.

http://localhost/myapp

http://localhost/myapp/default.html

http://localhost/myapp?arg=1

http://localhost/myapp/default.html?arg=1

All work.

  • Luca answered Nov 15, 2016 - 3:46 pm
0 votes
In reply to: URL arguments

Is necessary use the “Post” string in URL too?

Thanks & Regards,

Rui

  • Rui Oliveira answered Nov 15, 2016 - 3:37 pm
0 votes

Hi Michael,

The low level errors are not localized automatically. You can plugin your javascript error handlers like this, in Default.html add this:

 <script>
   Wisej.onNetworkError = function (type, error) {
      alert(type + ": " + error);
   }
 </script>

 

The default error handler now is this:

/**
 * onNetworkError
 *
 * Called when the http or websocket connection fails.
 * This call can only be assigned, it"s not an event listener.
 *
 * Usage:
 *
 * Wisej.onNetworkError = function(type, error){ alert(error); };
 *
 * @param error {String} the error type: "connection", "network", "timeout".
 * @param message {String} the error message.
 */
Wisej.onNetworkError = Wisej.onNetworkError || function (type, error) {

   // already showing a message box?
   if (Wisej.__showingErrorMessage)
     return;

   Wisej.__showingErrorMessage = true;

   var message = error;
   var buttons = { "close": "Close" };

   // TODO: Localize the texts below.

   switch (type) {
     case "timeout":
      message = "The connection timed out. The server may be busy or unreachable. Retry?";
      buttons = { "retry": "Retry", "close": "Close" };
      break;

    case "connection":
      message = "Failed to connect to the server.";
      buttons = { "close": "Close" };
      break;

    case "network":
      message = "The network is down. Retry?";
      buttons = { "retry": "Retry", "close": "Close" };
      break;
  }

  Wisej.Platform.showMessage("Network Error", message, "error", buttons, function (button) {

    Wisej.__showingErrorMessage = false;

    if (button == "retry") {
      location.reload();
    }
  });
}

HTH

Best,

Luca

 

  • Luca answered Nov 15, 2016 - 3:19 pm
  • last active Nov 15, 2016 - 3:19 pm
0 votes
In reply to: Solved: AspNetControl

Hi Ewan,

I have attached the revised sample application.

The latest AspNetWrapper class already exposes the ScriptManager object. You can use to set any parameter including AsyncPostBackTimeout.

Best,

Luca

  • Luca answered Nov 15, 2016 - 3:08 pm
0 votes
In reply to: Solved: AspNetControl

Hi Luca

Thank you for sorting this out.

One more suggestion: It work be good to expose some of the script manager properties in the ASP net wrapper such as

AsyncPostBackTimeout

as this needs to be set for long running reports in order for them to not time out.

Thanks for your help

Ewan

0 votes

 

 

Hi,

I have now the solution…

 

Public Sub setCulture(culture As String)
Thread.CurrentThread.CurrentCulture = New CultureInfo(culture, False)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(culture, False)
End Sub

 

 

 

  • michael answered Nov 15, 2016 - 3:57 am
0 votes
In reply to: ListView EnsureVisible

That’s  your case, you are populating and scrolling at the same time, when the scroll call reaches the listview it’s not populated yet since the query for the data happens later asynchronously. We have added  a deferred call now for this scenario, it seems to work but not always perfectly. Async stuff is a pain.

Try the next build, it should be better at this.

/Luca

  • Luca answered Nov 14, 2016 - 9:36 pm
0 votes
In reply to: ListView EnsureVisible

Hi Luca

what does “in the same call” mean.

I have a listview which I populate in Form_Start event, one Item is selected by code and I want to ensure that user can see this item.

Can I split in this case the poulating and scroll into view in this case?

  • Gunter answered Nov 14, 2016 - 8:43 pm
0 votes

Hi Gunter,

We added DataGridView.HitTest() to the current build, coming online later on today.

Best,

Luca

  • Luca answered Nov 14, 2016 - 4:37 pm
0 votes
In reply to: Solved: AspNetControl

Hi Ewan,

The issue is fixed in the current build, will be online later on today. The problem was that sometimes the thread firing BeginRequest is different from the thread executing the request in AspNet.

Our tests now work perfectly, elimiated also the refresh when resizing problem.

Best,

Luca

  • Luca answered Nov 14, 2016 - 4:37 pm
0 votes
In reply to: ListView EnsureVisible

Hi Gunter,

It works if it’s called after the list is populated. It fails if you populate the list and call EnsureVisible in the same call because the listview (and the datagridview) are designed using a remote cached data source that queries the server using a virtual paging system.

it’s logged as WJ-7786, WJ-7787, and WJ-7788 becasue the same issue is present with the datagridview when setting the focus cell and/or scrolling before the data source is connected.

Thanks,

Luca

  • Luca answered Nov 14, 2016 - 4:35 pm
0 votes

Hi Wilfred,

Set AutoSize = false. It will work. Logged as bug WJ-7792.

Best,

Luca

  • Luca answered Nov 14, 2016 - 4:32 pm
0 votes

Hi Gunter,

Placing controls inside a cell is not yet supported. From the code above looks like you want to place an image. You can place an image in any cell using the cell’s Style property and BackgroundImage properties.

The datagridview in Wisej is a very efficient widget, only the visible elements are generated in the browser and they are generated as plain HTML. It’s a lot lighter to use the cell renderers when possible instead of placing an actual widget inside the cells.

In any case, placing a widget in a cell will be supported soon. We will also upload examples and extensions to show how to implement custom cell renderers in javascript to support custom painted cells, sparklines, etc.

Best,

Luca

 

  • Luca answered Nov 14, 2016 - 4:29 pm
0 votes

Hi Wilfred,

It’s bug WJ-7791, fixed in the current build, will be online later on today.

Also, to make a modal dialog not appear in the taskbar set ShowInTaskbar to false.

Modal dialogs, differently than forms, when closed are NOT disposed and can be reused. Forms are disposed as soon as they are closed. Modal dialogs (forms opened using ShowDialog) has to be explicitly disposed by the app, or will be garbage collected by the GC at a later time if not referenced.

A common pattern for modal dialogs is:

using (var dlg = new MyDialog())

{

  ...

}

Best,

Luca

 

  • Luca answered Nov 14, 2016 - 4:26 pm
0 votes
In reply to: Missing components

Hi Rui

Please see this link for Report Viewer

https://wisej.com/support/question/aspnetcontrol

There is a demo app to download that works, however there are some issues with the implementation as OnInit does not fire reliably in the AspNet Extension.

The other thing to check is that some of the items in the toolbox are named differently eg HTMLpanel

  • RibbonBar
  • ScheduleBox
  • Custom ComboBox

These items are already in the work stream for release at a later date.

 

Hope this helps

Ewan

  • Ewan Walker answered Nov 14, 2016 - 10:14 am
  • last active Nov 14, 2016 - 10:29 am
0 votes

Hi Frank

Thanks for the code. I missed grid.PointToClient(Control.MousePosition).Y,

There are 2 bugs in the code:

  1. Crash when dropping into area after last row of datagridview
private void dataGridView1_DragDrop(object sender, DragEventArgs e)
...
                if (dropRow == null)
                {
                    grid.Rows.Remove(dragRow);
                    grid.Rows.Add(dropRow);
                }
Should be changed to:
                if (dropRow == null)
                {
                    grid.Rows.Remove(dragRow);
                    grid.Rows.Add(dropRow);
                }
2. Crash when dropping on the column header

private DataGridViewRow GetDragRow(DataGridView grid)

  {
    var rowCount = grid.RowCount;
    var index = grid.FirstDisplayedRowIndex - 1;
 
    var position = grid.PointToClient(Control.MousePosition).Y;
 
    position -= grid.ColumnHeadersHeight;
    if (position < 0)
    {
      position = 1;
    }
    while (position > 0 && index < rowCount)
    {
      index++;
      if (grid.Rows[index].Visible)
        position -= grid.Rows[index].Height;
    }
 
    return grid.Rows[index];
  }
}
In this case the index = 1- and position < 0, so the while loop will never be executed,
the statement
return grid.Rows[index];
 crashes, because index = -1
can be changed to 
position -= grid.ColumnHeadersHeight;
if (position < 0)
{
  position = 1;
}
The position is moved to the first visible row, an the drop operation is done on the is row.

 

  • Gunter answered Nov 14, 2016 - 9:27 am
0 votes

Hi Gunter,

please find a drag and drop sample using the datagrid that includes the functionality you need here:

http://wisej.s3.amazonaws.com/support/attachments/Wisej.DataGridDragDrop.zip

Best regards
Frank

0 votes
In reply to: Offline Activation

Can you please advise how to generate wisej-server.lic as I cannot find it the way to generate, neither i found its automatically generated, even I setup new site on IIS server on developer machine.

0 votes

Hi Frank

I just installed Version 1.3.5. When I set the selection by listView.Items[xx].Selected, on the selected item the background color is now properly set, but the orange border stays at the item recently selected by mouse click

  • Gunter answered Nov 12, 2016 - 9:36 pm
Showing 10141 - 10160 of 11k results