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
No, Wisej pages are standard html, aspx, mvc, or anything else that the browser can load.
http://localhost/myapp/default.html
http://localhost/myapp/default.html?arg=1
All work.
Is necessary use the “Post” string in URL too?
Thanks & Regards,
Rui
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
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
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
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
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
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?
Hi Gunter,
We added DataGridView.HitTest() to the current build, coming online later on today.
Best,
Luca
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
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
Hi Wilfred,
Set AutoSize = false. It will work. Logged as bug WJ-7792.
Best,
Luca
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
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
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
These items are already in the work stream for release at a later date.
Hope this helps
Ewan
Hi Frank
Thanks for the code. I missed grid.PointToClient(Control.MousePosition).Y,
There are 2 bugs in the code:
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.
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
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.
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
