回答済み DataGrid+DataPagerを同期させるには?

  • 2012年4月6日 4:45
     
     

    Silverlight4+VS2010C#

    RIAを使って、DataSourceをDataGridとDataPagerにドラック&ドロップで設定しているデータを

    テキストボックスに値を入力し、ボタンをクリックすることで、データを絞り込みそれに応じたページングを実現したいと思っています。

    DataGridに対してクエリを行った結果までは表示することができたのですが、DataPagerを変化させる方法が不明です。

    アドバイスをいただけるうれしいです。

    コマンドボタン内での処理

                EntityQuery<Customer> query =
                from c in _customerContext.GetCustomerQuery()
                where c.LastName.Contains(LetterValue.Text)
                orderby c.CustomerID
                select c;
                LoadOperation<Customer> loadOp = this._customerContext.Load(query);
                customerDataGrid.ItemsSource = loadOp.Entities;

    MainPage.xml

            <riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:Customer, CreateList=true}" Height="0" LoadedData="customerDomainDataSource_LoadedData" x:Name="customerDomainDataSource" QueryName="GetCustomerQuery" Width="0" LoadSize="50" PageSize="50">
                <riaControls:DomainDataSource.DomainContext>
                    <my:CustomerDomainContext />
                </riaControls:DomainDataSource.DomainContext>
            </riaControls:DomainDataSource>
            <sdk:DataGrid AutoGenerateColumns="False" Grid.Column="1" Grid.Row="3" Height="Auto" HorizontalAlignment="Left" ItemsSource="{Binding ElementName=customerDomainDataSource, Path=Data}" Margin="0,51,0,0" Name="customerDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" VerticalAlignment="Top" Width="Auto">
                <sdk:DataGrid.Columns>
                    <!--カラムの定義-->
                </sdk:DataGrid.Columns>
            </sdk:DataGrid>
            <sdk:DataPager Grid.Column="1" Grid.Row="2" Height="26" HorizontalAlignment="Left" Name="dataPager1" PageSize="50" VerticalAlignment="Top" Width="200" Source="{Binding ElementName=customerDomainDataSource, Path=Data}" />

すべての返信

  • 2012年4月16日 6:10
     
     回答済み

    自力で解決しました。

    datasouceのQuaryNameに設定させ、再度読み込むことで、ページャ、Gridともに反映させることができました。