Hi to all
we are using Telerik version = 2012.2.725.1050
Here i am face one gridview problem while change DisplayIndex of column of gridview
Click on column, after when click on Left button focus and colum is moved perfectly but when we click on Right button colum is moved but focus is not moved focus must be moved. here i am add my sample project code
thanks in advance for your help
we are using Telerik version = 2012.2.725.1050
Here i am face one gridview problem while change DisplayIndex of column of gridview
Click on column, after when click on Left button focus and colum is moved perfectly but when we click on Right button colum is moved but focus is not moved focus must be moved. here i am add my sample project code
thanks in advance for your help
<
UserControl
x:Class
=
"GridTest.MainPage"
mc:Ignorable
=
"d"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
xmlns:sdk
=
"http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
>
<
Grid
x:Name
=
"LayoutRoot"
Background
=
"White"
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"50"
/>
</
Grid.RowDefinitions
>
<
telerik:RadGridView
HorizontalAlignment
=
"Left"
x:Name
=
"grdFormList"
VerticalAlignment
=
"Top"
Grid.Column
=
"0"
Grid.Row
=
"0"
/>
<
StackPanel
Orientation
=
"Horizontal"
Grid.Column
=
"0"
Grid.Row
=
"1"
>
<
Button
Content
=
"Left"
Height
=
"23"
HorizontalAlignment
=
"Left"
Name
=
"btnleft"
Width
=
"75"
Margin
=
"5,0,0,0"
Click
=
"btnleft_Click"
/>
<
Button
Content
=
"Right"
Height
=
"23"
HorizontalAlignment
=
"Left"
Name
=
"btnright"
Width
=
"75"
Margin
=
"5,0,0,0"
Click
=
"btnright_Click"
/>
</
StackPanel
>
</
Grid
>
</
UserControl
>
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Net;
using
System.Windows;
using
System.Windows.Controls;
using
System.Windows.Documents;
using
System.Windows.Input;
using
System.Windows.Media;
using
System.Windows.Media.Animation;
using
System.Windows.Shapes;
using
Telerik.Windows.Controls;
using
Telerik.Windows.Controls.GridView;
using
Telerik.Windows;
using
System.ComponentModel;
using
System.Globalization;
using
System.Threading;
namespace
GridTest
{
public
partial
class
MainPage : UserControl
{
public
GridViewCellBase ClickedCell {
get
;
set
; }
public
MainPage()
{
InitializeComponent();
this
.grdFormList.AddHandler(GridViewCellBase.MouseLeftButtonDownEvent,
new
MouseButtonEventHandler(MouseDownOnCell),
true
);
grdFormList.Columns.Clear();
for
(Int32 attributelength = 0; attributelength < 10; attributelength++)
{
GridViewColumn textColumn =
new
GridViewColumn();
// DataGridTextColumn textColumn = new DataGridTextColumn();
textColumn.Header =
string
.Format(
"Column{0}"
, attributelength + 1);
textColumn.UniqueName =
string
.Format(
"Uname{0}"
, attributelength + 1);
textColumn.MinWidth = 5;
textColumn.Width = 100;
grdFormList.Columns.Add(textColumn);
}
}
private
void
MouseDownOnCell(
object
sender, MouseEventArgs args)
{
if
(((UIElement)args.OriginalSource).ParentOfType<GridViewCellBase>() !=
null
)
{
var aa = ((GridViewHeaderRow)(((GridViewCellBase)((UIElement)args.OriginalSource).ParentOfType<GridViewCellBase>()).ParentOfType<GridViewHeaderRow>())).Cells;
for
(
int
i = 0; i < aa.Count; i++)
{
((GridViewCellBase)aa[i]).Background =
new
SolidColorBrush(Colors.Transparent);
}
this
.ClickedCell =
null
;
this
.ClickedCell = (GridViewCellBase)((UIElement)args.OriginalSource).ParentOfType<GridViewCellBase>();
LinearGradientBrush brush =
new
LinearGradientBrush();
brush.StartPoint =
new
Point(0.5, 0);
brush.EndPoint =
new
Point(0.5, 1);
GradientStop g1 =
new
GradientStop();
g1.Color = Color.FromArgb(255, 227, 153, 54);
brush.GradientStops.Add(g1);
GradientStop g2 =
new
GradientStop();
g2.Color = Color.FromArgb(255, 254, 211, 125);
brush.GradientStops.Add(g2);
((GridViewCellBase)((UIElement)args.OriginalSource).ParentOfType<GridViewCellBase>()).Background = brush;
}
}
private
void
btnleft_Click(
object
sender, RoutedEventArgs e)
{
if
(ClickedCell !=
null
)
{
if
(ClickedCell.Column !=
null
)
{
int
i = ClickedCell.Column.DisplayIndex;
if
(i >= 1)
{
ClickedCell.Column.DisplayIndex = i - 1;
}
}
}
}
private
void
btnright_Click(
object
sender, RoutedEventArgs e)
{
if
(ClickedCell !=
null
)
{
if
(ClickedCell.Column !=
null
)
{
int
k = ClickedCell.Column.DisplayIndex;
if
(k <= grdFormList.Columns.Count - 1)
{
ClickedCell.Column.DisplayIndex = k + 1;
}
}
}
}
}
}