User Profile & Activity

Yudi Member
Page
of 259
Posted: November 7, 2016 4:57 AM

I started my investigation by creating a simple Web Application targeting Framework 4.6. Decided to skip testing Framework 4.0 since the problem only happen when targetFramework is set to 4.6.

A web form, WebForm1.aspx, is added into the application. It has a WebGrid and an ASP.NET Button. The grid is bind to SQLDataSource control and shows Customers data. Initially, the grid is grouped by "Country" column with ascending sort order.

<ISWebGrid:WebGrid ID="WebGrid1" runat="server" Height="500px" Width="100%" DataSourceID="SqlDataSource1">
    <LayoutSettings AllowGrouping="Yes">            
    </LayoutSettings>
    <RootTable DataKeyField="CustomerID">
        <GroupedColumns>
            <ISWebGrid:WebGridGroup ColumnMember="Country" SortOrder="Ascending" GroupMode="Expanded" />
        </GroupedColumns>
        <Columns>
            ...
        </Columns>
    </RootTable>
</ISWebGrid:WebGrid>

Following code is added into the button click event handler.

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
	If (WebGrid1.SelectedRowKeyValue <> "" Or IsNothing(WebGrid1.SelectedRowKeyValue)) Then
		Dim keyValue As String = WebGrid1.SelectedRowKeyValue
		Dim x = keyValue
		Dim name = WebGrid1.RootTable.GetUngrouppedRows().GetRowByKeyValue(keyValue).Cells.GetNamedItem("CompanyName").Text

		Button1.Text = name
	End If
End Sub

Following steps are performed in order to test the reported problem:

  1. View WebForm1.aspx page in browser.
  2. Select any row.
  3. Click the Button1 (under WebGrid control).

Everything work as expected and I was unable to replicate the problem.

I enclose my simple sample as attachment. Please have my sample evaluated on your end and feel free to let me know if you find anything that I might miss during my attempt in order to reproduce the problem.

First, sorry for the delayed response.

Thank you for taking the time to provide details of your question.

The OnCellDblClick client-side event specifies the client-side function to be invoked when a cell is double clicked. The term cell refers to all cell in WebGrid, not specifically for check-box cell. You can try to double click on any cell of WebGrid and the dblClick() method will be invoked.

So, this is not WebGrid issue.

In order to prevent double click on the disabled checkbox column, you can try to enhance the code inside dblClick() method by checking if the cell's ForceNoEdit is true. Following snippet code shows how:

function dblClick(controlId, tblName, rowIndex, cellIndex, cellEl) {
    var grid = ISGetObject(controlId);
    var rootTable = grid.RootTable;
    var selectedRow = rootTable.GetRow(rowIndex);
    var selectedCell = selectedRow.GetCell(cellIndex - 1);

    if (selectedCell.ForceNoEdit)
        return false;

    alert("double click!");
}

Hope this helps.

Posted: October 20, 2016 5:38 AM

I created a simple page of WebGrid and was unable to replicate the reported problem in my local end. Please find the sample in the attachment.

The sample page uses Northwind.mdb file. Copy/add the sample file into WebGrid sample project ("[Intersoft Solutions installation folder]\Samples\For ASP.NET\ISNet.WebUI.Samples\cs\WebGrid") then view the page in browser.

Let me know if you have different result.

It is not working at my end.

I am using windows 10 + Internet exploree 11.

Per your report, I re-test the sample page on IE 11 browser running on Windows 10. As shown in the following screenshot, adding line break in WebGrid column header tooltip works without problem.

Adding breakline on WebGrid column header tooltip
Adding breakline on WebGrid column header tooltip


IE 11 version
IE 11 version


Windows 10
Windows 10


For your information, I'm using WebGrid 10 build 24 and WebUI.NET Framework 3.0 build 976. Could you please inform me the detail version of your WebGrid and WebUI.NET Framework 3.0?

Posted: October 20, 2016 2:45 AM

Sorry for the delay in sending this.

I’m currently still investigating this issue and need more time to provide you with solution, suggestion, or sample.

I’ll get back to you as soon as possible.

In my opinion, your scenario can be achieved by integrating WebInput into WebGrid.

By doing so, you can utilize the features of WebInput such as formatting display text; formatting edit text; input highlight; and masking. This sample of WebInput demonstrates WebInput control with numeric display format. Try to alter the culture by selecting it from the drop down list located on the top-right corner of the sample.



Edited on October 20, 2016 1:08 AM
Reason: add information about built-in feature in WebGrid

WebGrid supports .NET built-in masking, such as "c" for currency, "d" for short date, custom pattern such as "MM/dd/yyy" and so on. When the edit mode is activated, it will check the assigned DataFormatString and apply it to the built-in validation core function for data checking and masking. In the sample, the DataFormatString property of UnitPrice column is set to "c" (currency).

WebGrid also has numeric formatting feature. You only need to fill DataFormatString property with the numeric format. In the sample, try to edit UnitPrice to 1234 and Discount to 0.35.

WebGrid also supports custom format string, such as 0, #, ., comma, #, E0, \, Literal as well as ;. For more detail, please check the sample in here.

@all

I created a very simple WebSite containing a single page, EditingFirstRowIsMovingToLeft.aspx. The page has WebGrid 10 control inside and the latest version of WebUI.NET Framework 3.0 (build 976).

The sample WebSite has been sent directly to Alexander Mohr through our live chat service. If needed, viewer/reader can find them in the attachment (WebSite_WebGrid10.zip). Please have the attached WebSite evaluated on your end and let us hear the result.
*all the required assemblies have been provided inside the bin folder.

The update seems to have done the trick.

Alex, thank you very much for getting back to us with the update.

Should anyone have different result, please feel free to let us know. We would be happy to assist you.

The issue is resolved. I compared my web.config with the one you provided and turned out I was missing handler under tag.

Glad to hear the good news.

Should you need further assistance or run into any problems regarding our controls, feel free to post it into our forum. We would be happy to assist you again.

Posted: October 20, 2016 2:08 AM

@all

Thomas and I investigated the issue further by comparing the start-up time of plain Xamarin app and Crosslight app. Two projects are created, they are:

  • project(1): Xamarin Android Blank app with splash screen;
  • project(2): Crosslight project created using Crosslight Blank App project template.

By using these projects, we are going to compare the Android start-up time. Following is the start-up time measurement method:

  1. Deploy each app in test device.
  2. Use AZ Screen Recorder app (Third party application used to record Android screen. This app is available in Play Store. Can use other/similar application.) to record the screen.
  3. Run the app on device.
  4. Inspect the video (recorded by AZ Screen Recorder) using Camtasia Studio (Third party desktop application to edit video. Can use other/similar application.). Start-up time is measured right where user start to press the app icon and finish just before the splash screen is replaced with fragment.

Following are the results:

project(1): Xamarin Android Blank app with splash screen
Start-up time: 3.16 second.

project(2): Crosslight project created using Crosslight Blank App project template
Start-up time: 5.03 second.

project(2): Crosslight project created using Crosslight Blank App project template with SplashScreenLatency = 1
Start-up time: 4.11 second.

project(2): Crosslight project created using Crosslight Blank App project template with SplashScreenLatency = 0
Start-up time: 4.07 second.

Based on these result, set the SplashScreenLatency to 0 or 1 will improves the start-up time by 1 second. We consider this as normal (compared to Xamarin app start-up time) since Xamarin also needs to initialize Crosslight assemblies.

Anyway, considering your results it seems that Xamarin is the bottleneck and I guess you won’t or can’t do anything to speed up things.

Thank you very much, Thomas. Have a nice day.

Thank you for the sent sample. I can reproduce the reported problem using the sample.

I’m currently still investigating this issue and need more time to provide you with solution, suggestion, or sample.

I’ll get back to you as soon as possible.

All times are GMT -5. The time now is 9:50 PM.
Previous Next