or
Telerik.Windows.Controls.GridViewBoundColumnBase c = gvc as Telerik.Windows.Controls.GridViewBoundColumnBase;
if ((!c.DataType.FullName.StartsWith("Afda.Model.TrackableCollection"))
&& (!c.DataType.FullName.StartsWith("Afda.Model.Obj")))
{
foreach (System.Reflection.PropertyInfo pi2 in c.DataType.GetProperties())
{
if (pi2.PropertyType.BaseType.IsValueType || pi2.PropertyType.FullName.Equals("System.String") || pi2.PropertyType.FullName.Equals("System.DateTime")
|| pi2.PropertyType.BaseType.FullName.Equals("System.ValueType"))
{
Telerik.Windows.Controls.GridViewDataColumn newColumn = new Telerik.Windows.Controls.GridViewDataColumn();
newColumn.Width = c.ActualWidth;
newColumn.DisplayIndex = c.DisplayIndex;
String s = c.DataMemberBinding.Path.Path + "." + pi2.Name;
newColumn.DataMemberBinding = new Binding(s);
newColumn.DataType = pi2.PropertyType;
newColumn.DataFormatString = c.DataFormatString;
newColumn.TextAlignment = c.TextAlignment;
newColumn.Header = s;
newColumn.Name = s;
newColumn.UniqueName = s;
newColumn.Footer = c.Footer;
newColumn.IsVisible = true;
colsToAdd.Add(newColumn);
}
}
gvc.IsVisible = false;
try
{
DataGrid.ItemsSource = data;
}
catch { }
foreach (Telerik.Windows.Controls.GridViewDataColumn c in colsToAdd) {
if (!DataGrid.Columns.Contains(c)) {
DataGrid.Columns.Add(c);
}
}
Hi
This is trivial stuff but I can't find an answer in all your resources.
I have a database field containing an integer code e.g. Priority with 0 for High, 1 for Medium and 2 for Low.
The codes mean nothing to the user so I need to translate the code in this column into text. Also, when sorting the column I'd like it to use the underlying code and not the text so the ordered data appears as High-Medium-Low not text sorting which would give High-Low-Medium.
If you can provide some tips on searching your resources for this easy stuff that would be appreciated! A beginners guide maybe
Thanks
RoyS
<
telerikGrid:RadGridView
x:Name
=
"GridView"
></
telerikGrid:RadGridView
>
<
telerikChart:RadChart
ItemsSource
=
"{Binding ElementName=GridView,Path=Items,Converter={StaticResource Converter}}"
>
<
telerikChart:RadChart.SeriesMappings
>
<
telerikCharting:SeriesMapping
>
<
telerikCharting:SeriesMapping.SeriesDefinition
>
<
telerikCharting:Pie3DSeriesDefinition
/>
</
telerikCharting:SeriesMapping.SeriesDefinition
>
<
telerikCharting:SeriesMapping.ItemMappings
>
<
telerikCharting:ItemMapping
DataPointMember
=
"LegendLabel"
FieldName
=
"Key"
/>
<
telerikCharting:ItemMapping
DataPointMember
=
"YValue"
FieldName
=
"Value"
/>
</
telerikCharting:SeriesMapping.ItemMappings
>
</
telerikCharting:SeriesMapping
>
</
telerikChart:RadChart.SeriesMappings
>
<
telerikChart:RadChart.DefaultView
>
<
telerikCharting:ChartDefaultView
>
<
telerikCharting:ChartDefaultView.ChartArea
>
<
telerikCharting:ChartArea
LegendName
=
"chartLegend"
>
</
telerikCharting:ChartArea
>
</
telerikCharting:ChartDefaultView.ChartArea
>
<
telerikCharting:ChartDefaultView.ChartLegend
>
<
telerikCharting:ChartLegend
x:Name
=
"chartLegend"
UseAutoGeneratedItems
=
"True"
/>
</
telerikCharting:ChartDefaultView.ChartLegend
>
</
telerikCharting:ChartDefaultView
>
</
telerikChart:RadChart.DefaultView
>
</
telerikChart:RadChart
>
[ValueConversion(
typeof
(DataItemCollection),
typeof
(ObservableCollection<KeyValuePair<
string
,
int
>>))]
public
class
Converter : IValueConverter
{
public
object
Convert(
object
value, Type targetType,
object
parameter, CultureInfo culture)
{
ObservableCollection<KeyValuePair<
string
,
int
>> convertedItems =
new
ObservableCollection<KeyValuePair<
string
,
int
>>();
DataItemCollection dataItemCollection = (DataItemCollection)value;
if
(dataItemCollection.ItemCount > 0)
{
// I put here transformed elements in the collection convertedItems.
}
return
convertedItems;
}
public
object
ConvertBack(
object
value, Type targetType,
object
parameter, CultureInfo culture)
{
throw
new
NotImplementedException();
}
}
<
telerik:GridViewDataColumn
TextAlignment
=
"Right"
Header
=
"Fatura Fiyatı"
IsReadOnly
=
"False"
DataMemberBinding
=
"{Binding IncomingBrutPrice}"
DataFormatString
=
"{}{0:F4}"
>
<
telerik:GridViewDataColumn.CellEditTemplate
>
<
DataTemplate
>
<
telerik:RadNumericUpDown
Name
=
"NumericBrutPrice"
Value
=
"{Binding Path=IncomingBrutPrice, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ValueChanged
=
"NumericBrutPrice_ValueChanged"
></
telerik:RadNumericUpDown
>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellEditTemplate
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
IsGroupable
=
"False"
DataMemberBinding
=
"{Binding ItemTotalPrice}"
Header
=
"Toplam Fiyat"
Width
=
"100"
DataFormatString
=
"{}{0:f4}"
>
</
telerik:GridViewDataColumn
>