RIA 서비스를 사용하여 직원 데이터 (Northwind 데이터베이스)를 데이터 그리드에 표시하는 작은 SL 응용 프로그램이 있습니다. varchar 열에 대해서는 정상적으로 작동하지만 nullable int 열에 대해서는 필터링하지 않는 텍스트 필터가 있습니다. 여기 XAML은 다음과 같습니다Silverlight에서 RIA 서비스로 필터링
<UserControl xmlns:riaControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Ria"
xmlns:riaData="clr-namespace:System.Windows.Data;assembly=System.Windows.Controls.Ria"
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" x:Class="FilteringSample.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:web="clr-namespace:FilteringSample.Web"
xmlns:converter="clr-namespace:FilteringSample"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
<UserControl.Resources>
<converter:StringToIntConverter x:Key="MyConverter"></converter:StringToIntConverter>
</UserControl.Resources>
<Grid x:Name="LayoutRoot">
<StackPanel Orientation="Vertical" Height="Auto" Grid.Column="0">
<StackPanel Orientation="Horizontal">
<Button x:Name="saveButton" Width="75" Height="30" Content="Save" Margin="5" Click="saveButton_Click"/>
<Button x:Name="rejectButton" Width="75" Height="30" Content="Reject" Margin="5" Click="rejectButton_Click"/>
<TextBlock x:Name="changeText" VerticalAlignment="Center" Width="Auto"/>
<TextBox x:Name="Filter" Width="100" Text="" />
<riaControls:DomainDataSource x:Name="DataSource1" QueryName="GetEmployeesQuery" LoadingData="DataSource1_LoadingData" >
<riaControls:DomainDataSource.DomainContext>
<!--<web:CustomerContext></web:CustomerContext>-->
<web:EmployeeContext></web:EmployeeContext>
</riaControls:DomainDataSource.DomainContext>
<riaControls:DomainDataSource.FilterDescriptors>
<riaData:FilterDescriptorCollection LogicalOperator="Or">
<riaData:FilterDescriptor PropertyPath="FirstName" Operator="Contains">
<riaControls:ControlParameter ControlName="Filter" PropertyName="Text" RefreshEventName="TextChanged" />
</riaData:FilterDescriptor>
<riaData:FilterDescriptor PropertyPath="Title" Operator="Contains">
<riaControls:ControlParameter ControlName="Filter" PropertyName="Text" RefreshEventName="TextChanged" />
</riaData:FilterDescriptor>
<riaData:FilterDescriptor PropertyPath="TestFilter" Operator="Contains">
<riaControls:ControlParameter ControlName="Filter" PropertyName="Text" RefreshEventName="TextChanged"/>
</riaData:FilterDescriptor>
</riaData:FilterDescriptorCollection>
</riaControls:DomainDataSource.FilterDescriptors>
</riaControls:DomainDataSource>
</StackPanel>
<data:DataGrid Name="MyGrid" ItemsSource="{Binding Data, ElementName=DataSource1}">
</data:DataGrid>
<!--<data:DataPager PageSize="20" Source="{Binding Data, ElementName=DataSource1}" Margin="0,-1,0,0" />-->
</StackPanel>
어떤 도움을 이해할 수있을 것이다. 감사합니다
위 xaml을 수정할 수 있습니까? 어떤 필터가 nullable int입니까? TestFilter 속성? 아마도 Or 문에서 형식을 혼합하고 일치시킬 수는 없습니다. – Bryant