This question is locked. New answers and comments are not allowed.
Hi
I have a dataform with 2 Radcombobox inside:
one is for the Period tables which currently has around 6-7 records now
the other is for the Ledger table which currently has 1 records only
My current problem is that The Ledger combobox works fine in the dataform but the Period combobox doesn't work at all and it always show the error "Period Id isn't in the correct format".
One interesting thing is that i if move the xaml code of the Period radcombobox out of the dataform. Then it works perfectly.
I don't really know what is going on.
Plz help me
my code behind
my code for the helper PeriodList and Ledger List
My code for the Operation service on the server side
I have a dataform with 2 Radcombobox inside:
one is for the Period tables which currently has around 6-7 records now
the other is for the Ledger table which currently has 1 records only
My current problem is that The Ledger combobox works fine in the dataform but the Period combobox doesn't work at all and it always show the error "Period Id isn't in the correct format".
One interesting thing is that i if move the xaml code of the Period radcombobox out of the dataform. Then it works perfectly.
I don't really know what is going on.
Plz help me
<telerik:RadWindow x:Class="SilverFinancials.Windows.JournalPosting" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:helper="clr-namespace:SilverFinancials.Helpers" xmlns:SilverFinancials="clr-namespace:SilverFinancials" mc:Ignorable="d" Width="825" Height="512" d:DesignHeight="462" d:DesignWidth="818"> <Grid x:Name="LayoutRoot" Background="White"> <Grid.Resources> <helper:PeriodList x:Key="periodList"/> <helper:LedgerList x:Key="ledgerList" /> </Grid.Resources> <StackPanel Orientation="Vertical"> <SilverFinancials:ToolBar x:Name="DocumentManagementToolBar" /> <toolkit:DataForm x:Name="documentDF" AutoGenerateFields="True" CommandButtonsVisibility="None" Height="248"> <toolkit:DataForm.EditTemplate> <DataTemplate> <StackPanel Orientation="Vertical"><TextBlock Name="periodLabel" Text="Period:" Margin="82,0,0,0" /> <telerik:RadComboBox IsEnabled="False" Name="periodRCB" ItemsSource="{Binding Source={StaticResource periodList},Path=ListPeriodsByActive}" DisplayMemberPath="PeriodCode" SelectedValuePath="PeriodId" SelectedValue="{Binding PeriodId,Mode=TwoWay}" Width="78" Margin="21,0,0,0" /> <TextBlock Name="ledgerIdLabel" Text="Ledger Id:" Margin="81,0,0,0" /> <telerik:RadComboBox IsEnabled="False" Name="ledgerIdRCB" VerticalAlignment="Center" Width="78" ItemsSource="{Binding Source={StaticResource ledgerList},Path=ListLedgersByBalancing}" DisplayMemberPath="LedgerCode" SelectedValuePath="LedgerId" SelectedValue="{Binding LedgerId,Mode=TwoWay,ValidatesOnDataErrors=True,NotifyOnValidationError=True}" Margin="3,0,0,0" /> </StackPanel> </DataTemplate> </toolkit:DataForm.EditTemplate> </toolkit:DataForm> </StackPanel> </Grid></telerik:RadWindow>my code behind
using Telerik.Windows.Controls;using SilverFinancials.Windows.Posting.Journal_Posting;using System.ServiceModel.DomainServices.Client;using SilverFinancials.Web.Services;using SilverFinancials.Web.Models;using System.Linq;using System.Windows;using System.Windows.Data;using System;using System.Windows.Controls;using System.Windows.Input;using System.Collections.ObjectModel;namespace SilverFinancials.Windows{ public partial class JournalPosting : RadWindow { private DocumentContext document_ctx = new DocumentContext(); private ObservableCollection<Document> _documents; public JournalPosting() { InitializeComponent(); //retrieving the list of businessEntity in order to support it to the Dataform for navigation document_ctx.Load(document_ctx.GetDocumentsQuery(), LoadBehavior.RefreshCurrent, (lop) => { if (!lop.HasError) { _documents = new ObservableCollection<Document>(lop.Entities); //set the dataform itemssource documentDF.ItemsSource = _documents; } else { MessageBox.Show("Load document failed."); lop.MarkErrorAsHandled(); } }, null); } private void searchRadBtn_Click(object sender, RoutedEventArgs e) { } }}my code for the helper PeriodList and Ledger List
using System.Collections.Generic;using System.ServiceModel.DomainServices.Client;using SilverFinancials.Web.Models;using SilverFinancials.Web.Services;namespace SilverFinancials.Helpers{ public class PeriodList { private IEnumerable<Period> _ListPeriodsByActive; private IEnumerable<Period> _ListPeriods; private PeriodsContext periods_ctx = new PeriodsContext(); public IEnumerable<Period> ListPeriodsByActive { get { if (_ListPeriodsByActive == null) { EntityQuery<Period> query = periods_ctx.GetPeriodsByActiveQuery(); LoadOperation<Period> op = periods_ctx.Load(query); _ListPeriodsByActive = op.Entities; } return _ListPeriodsByActive; } } public IEnumerable<Period> ListPeriods { get { if (_ListPeriods == null) { EntityQuery<Period> query = periods_ctx.GetPeriodsQuery(); LoadOperation<Period> op = periods_ctx.Load(query); _ListPeriods = op.Entities; } return _ListPeriods; } } }public class LedgerList { private IEnumerable<Ledger> _ListLedgersByBalancing; private LedgerContext ledger_ctx = new LedgerContext(); public IEnumerable<Ledger> ListLedgersByBalancing { get { if (_ListLedgersByBalancing == null) { EntityQuery<Ledger> query = ledger_ctx.GetLedgersByBalancingQuery(); LoadOperation<Ledger> op = ledger_ctx.Load(query); _ListLedgersByBalancing = op.Entities; } return _ListLedgersByBalancing; } } }}My code for the Operation service on the server side
public IQueryable<Period> GetPeriodsByActive() { return this.ObjectContext.Periods.Where(p => p.Active == true).OrderBy(p=>p.PeriodCode); } /// <summary> /// return Ledgers with balancing = 1 /// </summary> /// <returns></returns> public ObjectResult<Ledger> GetLedgersByBalancing() { return this.ObjectContext.LedgerByBalancing(); }