Home > other >  Why other fields are not displayed in the listview using XAMARIN
Why other fields are not displayed in the listview using XAMARIN

Time:10-27

I am trying to display items, but only {Binding Peso} is displayed. If you change {Binding Peso} and use{Binding Contenido} you can see that it is displayed OK Any Help Pls? `

 <ListView  x:Name="PaqueteList">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <Grid >
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="1*"></ColumnDefinition>
                                    <ColumnDefinition Width="1*"></ColumnDefinition>
                                    <ColumnDefinition Width="1*"></ColumnDefinition>
                                </Grid.ColumnDefinitions>

                                <Grid.RowDefinitions>
                                    <RowDefinition Height="Auto" />
                                </Grid.RowDefinitions>
                                <Frame BorderColor="Black">
                                    <StackLayout Margin="5" Grid.Column="0"  Orientation="Vertical" 
                                             HorizontalOptions="StartAndExpand" 
                                             VerticalOptions="Center">

                                        <Label  Text ="{Binding Peso}" 
                                           TextColor="Blue"
                                           BackgroundColor="White"                                          
                                        />
                                    
                                        <Label Grid.Column="1" Text ="{Binding TrackingNumber} " 
                                            TextColor="Blue"
                                            BackgroundColor="White"
                                         />
                                        <Label Grid.Column="2" Text ="{Binding Contenido}"
                                          TextColor="Blue"       
                                          BackgroundColor="White"
                                        />
                                    </StackLayout>
                                </Frame>                             
                                
                                
                            </Grid>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>

I have changed the {Binding Peso} to {Binding Contenido} and so on, and it is works. I just need to display something like this

Peso Tracking Contenido xx yyyyy zzzz xx yyyyy zzzz xx yyyyy zzzz

CodePudding user response:

Try this for your ViewCell:

<ViewCell>
    <Frame BorderColor="Black">
        <Grid
            Margin="5"
            HorizontalOptions="StartAndExpand"
            VerticalOptions="Center"
            ColumnDefinitions="*, *, *">
            <Label
                BackgroundColor="White"
                Text="{Binding Peso}"
                TextColor="Blue" />
            <Label
                Grid.Column="1"
                BackgroundColor="White"
                Text="{Binding TrackingNumber}"
                TextColor="Blue" />
            <Label
                Grid.Column="2"
                BackgroundColor="White"
                Text="{Binding Contenido}"
                TextColor="Blue" />
        </Grid>
    </Frame>
</ViewCell>

CodePudding user response:

You should add the children views into a ListView like the pattern below:

<ListView>
  <ViewCell>
      <StackLayout>
         <Frame>
             <Grid>
             </Grid>
         <Frame/>
      </StackLayout>
   </ViewCell>
</ListView>

Below is the code snippet for your reference:

<ListView  x:Name="PaqueteList" > 
                <ListView.ItemTemplate>
                    <DataTemplate>
                
                     <ViewCell>

                        <StackLayout Margin="5" Orientation="Vertical" HorizontalOptions="StartAndExpand" VerticalOptions="Center">
                            <Frame BorderColor="Black">
                            <Grid >
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="1*"></ColumnDefinition>
                                    <ColumnDefinition Width="1*"></ColumnDefinition>
                                    <ColumnDefinition Width="1*"></ColumnDefinition>
                                </Grid.ColumnDefinitions>

                                <Grid.RowDefinitions>
                                    <RowDefinition Height="Auto" />
                                </Grid.RowDefinitions>

                        
                                        <Label  Grid.Column="0" Text ="{Binding Peso}"
                                           TextColor="Blue"
                                           BackgroundColor="White"/>


                                        <Label Grid.Column="1" Text ="{Binding TrackingNumber} "
                                            TextColor="Blue"
                                            BackgroundColor="White"
                                         />

                                        <Label Grid.Column="2" Text ="{Binding Contenido}"
                                          TextColor="Blue"      
                                          BackgroundColor="White" />

                           
                        </Grid>
                            </Frame>
                        </StackLayout>

                    </ViewCell>
                 
                </DataTemplate>

                </ListView.ItemTemplate>

            </ListView>

  • Related