Hello, I have two question about Grid View.
Q1. How to change background color of the title row? I’d tried to change the background color of some columns’ title, but the first column’s background and the border are still black.
Q2. I also don’t know how to change the background of the child table.
Thank you!
Zhiwei.
--------------------------------------------------------------------------------------------------
public
class
Director
{
public
string
Name{
get
;
set
; }
public
ObservableCollection<Function > Function {
get
;
set
; }
}
public
class
Function {
public
string
Name {
get
;
set
; }
public
string
FunctionType{
get
;
set
; }
}
<Window.Resources>
<local:RadTreeListXmlDataSource x:Key="TreeSource" Source="TestData.xml" />
</Window.Resources>
<telerik:RadTreeListView CellEditEnded="RadTreeListView1_CellEditEnded" x:Name="RadTreeListView1" RowIsExpandedChanged="RadTreeListView1_RowIsExpandedChanged"
AutoGenerateColumns="False" ItemsSource="{StaticResource TreeSource}">
<telerik:RadTreeListView.ChildTableDefinitions>
<telerik:TreeListViewTableDefinition ItemsSource="{Binding Items}" />
</telerik:RadTreeListView.ChildTableDefinitions>
<telerik:RadTreeListView.Columns>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Name}" Header="Name" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Source}" Header="Type" />
</telerik:RadTreeListView.Columns>
</telerik:RadTreeListView>
-------------------------------------------------------------------------------------------------
I was able to edit the Director's properties but when I tried to edit Function's properties i.e Funnction Name ,
I got an error saying "Object does not match target type".
Can you please provide a sample for the above functionality?
<
telerik:RadGridView
Sorting
=
"Grid_Sorting"
x:Name
=
"Grid"
ActionOnLostFocus
=
"None"
AutoGenerateColumns
=
"False"
RowDetailsVisibilityMode
=
"VisibleWhenSelected"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
IsReadOnly
=
"False"
DataMemberBinding
=
"{Binding FormOfAddress}"
>
<
telerik:GridViewDataColumn.CellEditTemplate
>
<
DataTemplate
>
<
ComboBox
SelectedItem
=
"{Binding FormOfAddress}"
ItemsSource
=
"{Binding AvailableFormOfAddresses}"
/>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellEditTemplate
>
</
telerik:GridViewDataColumn
>
</
telerik:RadGridView.Columns
>
<
telerik:RadGridView.RowDetailsTemplate
>
<
DataTemplate
>
<
Border
Background
=
"Red"
Width
=
"100"
Height
=
"100"
>
<
StackPanel
>
<!-- Clicking on this text commits the ComboBox and re-sorts the grid -->
<
TextBlock
Text
=
"{Binding FormOfAddress}"
/>
<!-- Clicking on this button does not commit the ComboBox -->
<
Button
Content
=
"Save"
/>
</
StackPanel
>
</
Border
>
</
DataTemplate
>
</
telerik:RadGridView.RowDetailsTemplate
>
</
telerik:RadGridView
>
private
void
Grid_Sorting(
object
sender, Telerik.Windows.Controls.GridViewSortingEventArgs e) {
Debug.WriteLine(
"Sorting called."
);
}
public
partial
class
MainWindow : Window
{
public
MainWindow()
{
InitializeComponent();
var dt =
new
DataTable();
dt.Columns.Add(
"Timestamp"
,
typeof
(DateTime));
dt.Columns.Add(
"Value1"
,
typeof
(
double
));
dt.Columns.Add(
"Value2"
,
typeof
(
double
));
for
(
int
i = 0; i < 20; i++)
{
var obj =
new
object
[3];
obj[0] = DateTime.Now.AddHours(i);
obj[1] = i;
if
(i % 2 != 0)
obj[2] = i + 1;
else
obj[2] =
null
;
dt.Rows.Add(obj);
}
chart.ItemsSource = dt;
SeriesMapping seriesMapping =
new
SeriesMapping();
seriesMapping.SeriesDefinition =
new
LineSeriesDefinition();
seriesMapping.ItemMappings.Add(
new
ItemMapping
{
DataPointMember = DataPointMember.XValue,
FieldName =
"Timestamp"
,
FieldType =
typeof
(DateTime)
});
seriesMapping.ItemMappings.Add(
new
ItemMapping
{
DataPointMember = DataPointMember.YValue,
FieldName =
"Value1"
,
FieldType =
typeof
(
double
)
});
chart.SeriesMappings.Add(seriesMapping);
SeriesMapping seriesMapping1 =
new
SeriesMapping();
seriesMapping1.SeriesDefinition =
new
LineSeriesDefinition();
seriesMapping1.ItemMappings.Add(
new
ItemMapping
{
DataPointMember = DataPointMember.XValue,
FieldName =
"Timestamp"
,
FieldType =
typeof
(DateTime)
});
seriesMapping1.ItemMappings.Add(
new
ItemMapping
{
DataPointMember = DataPointMember.YValue,
FieldName =
"Value2"
,
FieldType =
typeof
(
double
)
});
chart.SeriesMappings.Add(seriesMapping1);
}
}