C# 在ListView中向网格动态添加行
我有以下列表视图-C# 在ListView中向网格动态添加行,c#,xaml,listview,xamarin.forms,C#,Xaml,Listview,Xamarin.forms,我有以下列表视图- 您没有将值添加到listview <ListView x:Name="listViewm" ItemsSource="{ Binding Rows }"> <ListView.Header > <Grid > <Grid.ColumnDefinitions> <ColumnDefinition Width="1*"></Column
您没有将值添加到listview
<ListView x:Name="listViewm" ItemsSource="{ Binding Rows }">
<ListView.Header >
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Text="Name" Grid.Column="3" FontSize="Medium" />
<Label Text="Age" Grid.Column="2" FontSize="Medium" />
<Label Text="DOB" Grid.Column="1" FontSize="Medium" />
</Grid>
</ListView.Header>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<!--I need my Row values here-->
<Label Text="{Binding Name}" />
<Label Grid.Column="1" Text="{Binding Age}" />
<Label Grid.Column="2" Text="{Binding DOB}" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
您没有将值添加到listview
<ListView x:Name="listViewm" ItemsSource="{ Binding Rows }">
<ListView.Header >
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Text="Name" Grid.Column="3" FontSize="Medium" />
<Label Text="Age" Grid.Column="2" FontSize="Medium" />
<Label Text="DOB" Grid.Column="1" FontSize="Medium" />
</Grid>
</ListView.Header>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<!--I need my Row values here-->
<Label Text="{Binding Name}" />
<Label Grid.Column="1" Text="{Binding Age}" />
<Label Grid.Column="2" Text="{Binding DOB}" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
我可能错了,但是当初始化Rows对象时,应该更新listview的itemsSource 公共网格 { 行=新的可观察集合; 行。清除; //行初始化为新集合,因此更新itemssource listViewm.ItemsSource=行; entryList中的foreachvar条目 { //entryList只包含用于填充行信息的值 var行=新行; row.Name=entry.Name; row.Age=entry.Age; row.DOB=entry.DOB; Rows.Addrow; } }
我可能错了,但是当初始化Rows对象时,应该更新listview的itemsSource 公共网格 { 行=新的可观察集合; 行。清除; //行初始化为新集合,因此更新itemssource listViewm.ItemsSource=行; entryList中的foreachvar条目 { //entryList只包含用于填充行信息的值 var行=新行; row.Name=entry.Name; row.Age=entry.Age; row.DOB=entry.DOB; Rows.Addrow; } }
仍然没有值:如何检索entryList的数据?确保entryList不为null或空。条目列表有值,我甚至只是手动创建了一个新行并将其添加到Rows集合中,仍然没有任何内容:我是移动开发新手,但这可能与视图模型有关?您的entryList应该是公共的,而不是私有的。您能展示一下如何声明它吗?仍然没有值:您如何检索entryList的数据?确保entryList不为null或空。条目列表有值,我甚至只是手动创建了一个新行并将其添加到Rows集合中,仍然没有任何内容:我是移动开发新手,但这可能与视图模型有关?您的entryList应该是公共的,而不是私有的。您可以演示如何声明它吗?在screen类构造函数中初始化Rows组件而不是CreateGrid函数可能更好。在screen类构造函数中初始化Rows组件而不是CreateGrid函数可能更好。
+----------------+
| Name Age DOB |
+----------------+
| John 31 06/09 |
| Bill 32 07/10 |
| Bob 34 08/11 |
+----------------+
<ListView x:Name="listViewm" ItemsSource="{ Binding Rows }">
<ListView.Header >
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Text="Name" Grid.Column="3" FontSize="Medium" />
<Label Text="Age" Grid.Column="2" FontSize="Medium" />
<Label Text="DOB" Grid.Column="1" FontSize="Medium" />
</Grid>
</ListView.Header>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<!--I need my Row values here-->
<Label Text="{Binding Name}" />
<Label Grid.Column="1" Text="{Binding Age}" />
<Label Grid.Column="2" Text="{Binding DOB}" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>