1

I want to get url and some text from database to collection view and show picture with that label. How can i connect database data with CollectionView and show it?

There is my Model

public class Airplane
{
    [PrimaryKey]
    public int Id { get; set; }
    public string Plane { get; set; }
    public string Airline { get; set; }
    public string Livery { get; set; }
    public string Registration { get; set; }
    public string Airport { get; set; }
    public string Date { get; set; }
    public string Comment { get; set; }
    public string Url { get; set; }        
}

and there is XAML code

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <CollectionView>
            <CollectionView.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="100"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>

                        <Image Source=""
                               HeightRequest="200"
                               Grid.Column="0"/>
                        <Label Text=""
                               Grid.Column="1"/>
                    </Grid>
                </DataTemplate>
            </CollectionView.ItemTemplate>
        </CollectionView>
    </Grid>
2
  • query the data from your db into an IEnumerable and use that as the ItemsSource for the CollectionView. There are numerous examples of how to do this. Commented Jan 8, 2021 at 14:37
  • Could you show one example or give me link? Commented Jan 8, 2021 at 14:47

1 Answer 1

1

get your data

var data = db.Table<Airplane>().ToList();

assign it to ItemsSource

myCollectionView.ItemsSource = data;

add binding expressions to your template

<Image Source="{Binding Url}" ... />
<Label Text="{Binding Plane}" ... />
Sign up to request clarification or add additional context in comments.

1 Comment

I was searching for solution like this but i cant find it or i have asked badly, thanks @Jason

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.