or
Hi ,
I am using Rad Controls for WPF Q2 of 2013, Also I am new to Telerik.
I would like to create 2 rows for a single record in the telerik rad grid view as attached. Is it possible to do the template in the XAML code itself ?
With Regards.
Siva
Hi,
I am using Rad Controls for WPF Q2 of 2013, Also I am new to Telerik.
I would like to create 2 rows for a single record in the telerik rad grid view as attached. Is it possible to do the template in the XAML code itself ?
With Regards.
Siva
Hi,
I am using Rad Controls for WPF Q2 of 2013, Also I am new to Telerik.
I would like to create 2 rows for a single record in the telerik rad grid view as attached. Is it possible to do the template in the XAML code itself ?
With Regards.
Siva
<telerik:RadBusyIndicator Name="busyInd" HorizontalAlignment="Left" Grid.Row="1" Margin="10,10,0,0" VerticalAlignment="Top" Height="255" Width="372" IsIndeterminate="True"> <telerik:RadCartesianChart x:Name="CartesianChartDemo" Grid.Column="5" Margin="10" Grid.Row="2" Grid.ColumnSpan="3"> <telerik:RadCartesianChart.Behaviors> <telerik:ChartPanAndZoomBehavior PanMode="Both" ZoomMode="Both"/> </telerik:RadCartesianChart.Behaviors> </telerik:RadCartesianChart></telerik:RadBusyIndicator>CartesianChartDemo.VerticalAxis = new CategoricalAxis(); CartesianChartDemo.HorizontalAxis = new LinearAxis(); CartesianChartDemo.Grid = new CartesianChartGrid() { MajorLinesVisibility = GridLineVisibility.XY }; string strQuery = "MyQuery";//Function to get datatable DataTable dtAlloys = DataRetriever.GetDataTable(strQuery); BarSeries barSer = new BarSeries(); barSer.ShowLabels = true; barSer.CombineMode = ChartSeriesCombineMode.Cluster; BarSeries barSer2 = new BarSeries(); barSer2.ShowLabels = true; barSer2.CombineMode = ChartSeriesCombineMode.Cluster; foreach (DataRow drAlloy in dtAlloys.Rows) { barSer.DataPoints.Add(new CategoricalDataPoint() { Category = drAlloy["MATERIAL_CODE"], Label = string.Format("{0:N}", drAlloy["WT"]), Value = double.Parse(drAlloy["WT"].ToString()) }); barSer2.DataPoints.Add(new CategoricalDataPoint() { Category = drAlloy["MATERIAL_CODE"], Label = string.Format("{0:N}", drAlloy["TARG"]), Value = double.Parse(drAlloy["TARG"].ToString()) }); } CartesianChartDemo.Series.Clear(); CartesianChartDemo.Series.Add(barSer); CartesianChartDemo.Series.Add(barSer2);busyInd.IsBusy = true;//Code to load databusyInd.IsBusy = false;public MainWindow(){ InitializeComponent(); IList<DataHeader> headerList = DataService.Instance.HeaderList; for (int i = 0; i < headerList.Count; i++) { DataHeader curentHeader = headerList[i]; GridViewBoundColumnBase column; if (curentHeader.Name == "AMOUNT") { column = new CGridViewNumColumn(); } else { column = new GridViewDataColumn(); } column.DataMemberBinding = new Binding("DataItemList[" + i + "]") { UpdateSourceTrigger = UpdateSourceTrigger.LostFocus }; column.Header = curentHeader.Caption; column.UniqueName = curentHeader.Name; GridControl.Columns.Add(column); } DataContext = DataService.Instance.Data;}internal class CGridViewNumColumn : GridViewBoundColumnBase { public override FrameworkElement CreateCellEditElement(GridViewCell cell, object dataItem) { BindingTarget = RadMaskedTextInput.ValueProperty; var input = new RadMaskedTextInput { HorizontalContentAlignment = HorizontalAlignment.Right, Culture = CultureInfo.GetCultureInfo("en-GB"), FormatString = "n2", Mask = "", MinWidth = 100, SelectionOnFocus = SelectionOnFocus.SelectAll }; input.SetBinding(BindingTarget, CreateValueBinding()); input.LostFocus += InputOnLostFocus; return input; } private void InputOnLostFocus(object sender, RoutedEventArgs routedEventArgs) { var input = sender as RadMaskedTextInput; if (input == null) throw new ArgumentNullException("sender"); if (string.IsNullOrWhiteSpace(input.Value)) { input.Value = string.Empty; return; } double value; //Format the number for frontend. const NumberStyles style = NumberStyles.Float | NumberStyles.AllowThousands; if (!double.TryParse(input.Value, style, input.Culture, out value)) { input.Value = "0"; } input.Text = value.ToString(input.FormatString, input.Culture); //Format the number for back-end. Extra precisions will be removed. if (!double.TryParse(input.Text, style, input.Culture, out value)) { input.Value = "0"; } input.Value = value.ToString(input.Culture); } private Binding CreateValueBinding() { var valueBinding = new Binding { Mode = BindingMode.TwoWay, NotifyOnValidationError = true, ValidatesOnExceptions = true, Path = new PropertyPath(DataMemberBinding.Path.Path) }; return valueBinding; } }