User Profile & Activity

Glenn Layaar Support
Page
of 99
Posted: August 29, 2010 10:45 PM

There will be a performance difference for Grid that show 100 and 600 row of data. However, in my test the performance diffrence is small.


Attached is the test page I am using to test the scenario, I used IE8 for the test browser. You mention you have some clientside script on the Grid, does removing the clientside script make the Grid run faster?

Posted: August 25, 2010 2:25 AM

Thank you for the attached sample, I have sucessfully replicated the issue on our end. I have submitted a bug report for this issue. We will inform you if there is any update / fix for this issue.

Posted: August 24, 2010 12:11 AM

I have retest the scenario and still could not replicate the issue you reported. Attached is the test page I am using to test the scenario.

Have you tried using the latest build of WebScheduler and WebUI Framework? Currently the Update Manager server has not been updated with the latest built, you will need to install the WebUI 2010 R1 to retrieve the latest build.

Posted: August 23, 2010 11:25 PM

By default the grid style item will use EllipsisText, this way long text will automatically be truncated and you will need to mouse over the text to show the full text. Unfortunately, EllipsisText does not support text wrapping so you will need to modify the UXStackButton StackMenuStyle template to use TextBlock control that support text wrapping, hide the EllipsisText and create the a TextBloxk with similar style. Here is the modified section for the StackMenuStyle to use TextBlock in Grid item:

<Style x:Key="GridStyle" TargetType="Intersoft:UXStackItem">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="CornerRadius" Value="4"/>
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="Padding" Value="4"/>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Intersoft:UXStackItem">
<Grid x:Name="RootElement" Background="{TemplateBinding Background}">
<Grid.Resources>
<Style x:Key="EllipsisTooltipStyle" TargetType="Intersoft:StylishLabel">
<Setter Property="Background" Value="Black"/>
<Setter Property="BorderBrush" Value="{x:Null}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="CornerRadius" Value="8"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontSize" Value="10.667"/>
</Style>
</Grid.Resources>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="AnimationElement"/>
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed"/>
<VisualState x:Name="Disabled">
<Storyboard>
<DoubleAnimation Duration="0" To=".5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ContentElement"/>
</Storyboard>
</VisualState>
<VisualState x:Name="DisabledMouseOver"/>
</VisualStateGroup>
<VisualStateGroup x:Name="CheckedStates">
<VisualState x:Name="Checked"/>
<VisualState x:Name="Unchecked"/>
</VisualStateGroup>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselected"/>
<VisualState x:Name="Selected"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border x:Name="AnimationElement" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" Margin="1" Opacity="0">
<Border.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#CCE2E2E2" Offset="0"/>
<GradientStop Color="#CC8E8E8E" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<Grid x:Name="ContentElement" Margin="{TemplateBinding Padding}" Visibility="Collapsed">
<Grid Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Margin="4">
<Border x:Name="ImageContainer"/>
<Border x:Name="ContentContainer"/>
</Grid>
<Grid Visibility="Collapsed">
<Intersoft:EllipsisText x:Name="GridTextElement" FontSize="{TemplateBinding FontSize}" FontFamily="{TemplateBinding FontFamily}" HorizontalAlignment="Center" Padding="6,2,6,2" Grid.Row="1" Text="{TemplateBinding Text}" TooltipStyle="{StaticResource EllipsisTooltipStyle}"/>
</Grid>
<TextBlock FontSize="{TemplateBinding FontSize}" FontFamily="{TemplateBinding FontFamily}" HorizontalAlignment="Center" Padding="6,2,6,2" Grid.Row="1" Text="{TemplateBinding Text}" TextWrapping="Wrap" VerticalAlignment="Center" Width="Auto" TextAlignment="Center"/>

</Grid>
</Grid>
<Grid x:Name="StackElement">
<Border x:Name="StackImageContainer">
<Intersoft:ImageLoader x:Name="StackImageElement" ImageSource="{TemplateBinding Icon}" ProgressBarHorizontalAlignment="Stretch" ProgressBarVerticalAlignment="Bottom" ProgressTextVisibility="{TemplateBinding ImageLoaderTextVisibility}" ProgressBarMargin="15,0,15,14" UseAnimationOnParent="False" UseLoader="{TemplateBinding UseImageLoader}"/>
</Border>
<Border x:Name="StackContentContainer">
<ContentPresenter x:Name="ContentPresenter" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding ContentMargin}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

In order to modify the grid item width, you could use the property StackGridItemWidth.

Posted: August 23, 2010 12:30 AM

Based on my disucssion with the developer regarding this issue, for this scenario he suggest not to use the programmatic binding and GetCachedDataSource method. He suggest using binding the ObjectDataSource control ID to the WebGrid using the DataSourceID property.

In order to retrieve the filtered row count, you will need to use the RootTable rows count property if the grid is not using any paging. If the grid is using paging, you will need to retrieve the DataView rows count from one of the RootTable rows. Here is the snippet for the WebGrid with paging enabled:

int rowCount = 0;
if(WebGrid1.RootTable.Rows.Count > 0)
{
rowCount = ((DataRowView)(WebGrid1.RootTable.Rows[0].DataRow)).DataView.Count;
}


Posted: August 22, 2010 11:09 PM

Based on my test with the RTM build of ClientUI, with the original snippet you posted on the first post the UXComboBox already show the name field in the dropdown result box.

Posted: August 22, 2010 10:22 PM
You are right Yiannis, it is the StackTotalDisplayItem property in the UXDockButton that control this behavior.

Using the release build, I did not encounter any issue you mention in your previous post, setting the StackTotalDisplayItem to 0 will not show any stack items behind the dock button and in my test the page runs without any issue.

Posted: August 20, 2010 4:54 AM

Testing the code using ObjectDataSource I also encounter the same issue. I am still discussing this issue with the developer. Currently, as a workaround you will need to bind the individual column manually similar to client binding scenario.

Posted: August 19, 2010 11:31 PM
Using similar snippet in the CustomizeWeekViewNumber provided sample, I could not replicate the error in my environment.

I modified the sample so it will only bind the Resources, Events, and Category table.

Which WebScheduler and WebUI Framework version and build are you using? Have you tried updating the  control to the latest build? Does the issue also occurs in our provided sample? You could try modifying our provided sample using similar scenario in your project.

I have just been informed that the update manager server will take some more time, probably in a few more days, before being updated to the latest build. However the WebUI 2010 R1 release is being slightly delayed and it will be release soon.

Because it will take some time for the update manager server to update the build, I suggest you download and install the WebUI 2010 R1and get WebGrid and WebDesktop build from the installation folder. This way you could retrieve the latest build faster. As I explained before, in this release WebGrid and WebDesktop does not have any major version upgrade.

All times are GMT -5. The time now is 10:48 AM.
Previous Next