iSeller Commerce
iSeller POS Retail
iSeller POS F&B
iSeller POS Express
Crosslight
WebUI
ClientUI
What's New
Download Trial
Web Solution
Mobile Solution
Enterprise Solution
Custom Development
Blog
Community
Latest Development Blogs
ForumPostTopic
Browse By Tag
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?
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.
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.
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.
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;}
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.
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.
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.
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.
or
Choose this if you're already a member of Intersoft Community Forum. You can link your OpenID account to your existing Intersoft Social ID.
Choose this if you don't have an Intersoft account yet. Your authenticated OpenID will be automatically linked to your new Intersoft account.
Enter your Wordpress Blogname