У меня есть сетка данных, в которой есть один столбец списка.
- источник данных сетки данных будет привязан к данным из базы данных через RIA WCF
- источник элементов списка, которыйнаходится внутри сетки данных, будет привязана к свойству ListFinancialAccountType, которое является коллекцией типов финансовых счетов (также извлекаемых через RIA WCF).
Я могу показать список всех доступных имен типов учетных записей для комбинированного списка.Однако я не могу установить значение по умолчанию для выпадающего списка, которое должно соответствовать значению каждой строки в сетке данных
Например: значение выпадающего списка скажет нам, какой тип финансового счета(Актив, доход, ..).Тем не менее, его реальное значение в строке представляет собой целочисленный тип (FinancialAccountTypeId), но я хочу, чтобы он отображался как «Актив», «Доход», ... Поэтому мне нужно поискать в Списке типов финансовых счетов (который будетбыть извлечены через РИА WCF).FinancialAccountType имеет свойства FinancialAccountTypeId и AccountTypeName.
Таким образом, в строках таблицы данных в выпадающем списке будет отображаться «Актив», «Доход», .... вместо 1,2, ....
Для моего FinancialAccount: свойства
AccountDescription
AccountNumber
FinancialAccountTypeId example: 1,2,...
FinancialAccountType --->navigation property
Для моего FinancialAccountType: свойства
AccountTypeName example: "asset", ...
FinancialAccountTypeId example: 1, 2...
FinancialAccounts ---> navigation property
В моем коде я также заполняю список типов финансовых счетовЯ думаю, что у меня должна быть проблема с загрузкой здесь.Любой вклад будет оценен
Вот мой код позади
public partial class Financial_Accounts : Page
{
public Financial_Accounts()
{
InitializeComponent();
}
// Executes when the user navigates to this page.
protected override void OnNavigatedTo(NavigationEventArgs e)
{
FinancialAccountContext financial_ctx = new FinancialAccountContext();
financial_ctx.Load(financial_ctx.GetFinancialAccountsQuery());
financialAccountDataGrid.ItemsSource = financial_ctx.FinancialAccounts;
}
}
public class Financial_Account_Types : ObservableCollection<FinancialAccountType>
{
public EntitySet<FinancialAccountType> ListFinancialAccountType
{
get
{
FinancialAccountContext financial_ctx = new FinancialAccountContext();
financial_ctx.Load(financial_ctx.GetFinancialAccountTypesQuery());
return financial_ctx.FinancialAccountTypes;
}
}
}
Вот мой XAML
<Grid.Resources>
<financial:Financial_Account_Types x:Key="FinancialAccountTypes"/>
</Grid.Resources>
<sdk:DataGrid AutoGenerateColumns="False" Height="159" HorizontalAlignment="Left" Name="financialAccountDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" VerticalAlignment="Top" Width="280">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn x:Name="accountDescriptionColumn" Binding="{Binding Path=AccountDescription}" Header="Account Name" Width="SizeToHeader" />
<sdk:DataGridTextColumn x:Name="accountNumberColumn" Binding="{Binding Path=AccountNumber}" Header="Account Number" Width="SizeToHeader" />
<sdk:DataGridTemplateColumn x:Name="financialAccountTypeIdColumn" Header="Account Type" Width="SizeToHeader">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding ListFinancialAccountType, Source={StaticResource FinancialAccountTypes},Mode=TwoWay}"
SelectedValue="{Binding FinancialAccountTypeId, Mode=TwoWay}"
DisplayMemberPath="AccountTypeName"
SelectedValuePath="FinancialAccountTypeId"
/>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>