2017-02-08 5 views
-1

Xamarinフォームでは、アイテムテーブルのすべてのアイテムを表示するリストビューがあります。私は 'ステータス'が承認されたアイテムだけを表示したい。これどうやってするの?どこにstatus = 'approved'の条件を渡すのですか?リストビューに条件付きで表示されるデータを取得したい

これは私のXAMLコードです:

<ViewModels:ItemViewModel/> 

</ContentPage.BindingContext> 

<ListView ItemsSource="{Binding ItemsList}" 

      HasUnevenRows="True" 
      x:Name="lstItems" 
     ItemTapped="LstItems_OnItemTapped"> 





    <ListView.ItemTemplate> 

     <DataTemplate> 

      <ViewCell> 

       <StackLayout Orientation="Horizontal"> 

        <Label Text="{Binding ItemCode}" TextColor="Blue"/> 
       <Label Text="{Binding ItemDesc}" TextColor="Blue"/> 


       </StackLayout> 

      </ViewCell> 

     </DataTemplate> 


    </ListView.ItemTemplate> 

</ListView> 

マイビューモデルは以下の通りです:

名前空間MyFirstDbApp.ViewModels { パブリッククラスItemViewModel:INotifyPropertyChangedの { プライベートリスト_itemsList; 。

public List<Item> ItemsList 



    { 
     get { return _itemsList; } 

     set 
     { 
      _itemsList = value; 
      OnPropertyChanged(); 
     } 
    } 

    public ItemViewModel() 
    { 

     InitializeDataAsync(); 
    } 


    private async Task InitializeDataAsync() 
    { 

     var ItemServices = new ItemServices(); 

     ItemsList = await ItemServices.GetItemsAsync(); 

    } 


    public event PropertyChangedEventHandler PropertyChanged; 

    protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) 
    { 
     PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); 
    } 
} 

}私の新しいコード実装の

エラー:

VAR結果は=)(ItemServices.GetItemsAsync()ConfigureAwaitを待ちます。 1つの-Anオブジェクト参照が非静的フィールド、メソッドまたはプロパティのために必要とされるItemServices.GetItemsAsync

ライン:

ライン "承認済み" ItemsList = result.Where(X => x.Status == : 'システム Colelction.GenericList':メソッド 'ConfigureAwait' の1-過負荷は0 argurments

ライン取り2-得る標的型へのSourceType 'Systems.Collection.Generic.IEnumerable' を変換しない

+0

_viewModel.ItemsList.Where(x => x.Status == "Approved"); 

幸運。何を試しましたか?あなたのコードを私たちに教えてください。 – Cheesebaron

+0

質問自体にxamlコードを追加しました。それは私のSQLのすべての項目をリストビューに返します。私はリストビューのいくつかの項目だけを表示したい。どのようにして条件に合格するのですか? – user1508599

答えて

0

フィルタリングをすべきあなたのViewModelのItemsListで実行されます。 n XAML。ちょうどあなたの基準に関するリストベースのフィルタリング:-)

+0

ねえ、そこに!私は、xamarinの開発には非常に新しいです。質問にViewModelコードを追加しました。ビューモデルでコードを追加する場所を教えてください。ありがとうございました... InitializeDataAsyncの – user1508599

+0

.. var result = await ItemServices.GetItemsAsync()。ConfigureAwait(); ItemsList = result.Where(x => x.Status == "Approved"); – Mittchel

+0

コードにエラーが表示されています。私の質問で言及されています。plsはそれについてどうやって行くのか説明できます。大きな助けになるだろう。 Pls。 – user1508599

関連する問題