将列表视图中的数据打印到 firebase
Printing data in listview to firebase
我之前问过这个,但是没人能回答。在此先感谢可以提供帮助的人。
<Grid>
<ListView x:Name="lstOrder">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label Text="{Binding OrderName}" Grid.Row="0" Grid.Column="0" HorizontalTextAlignment="Start" x:Name="lblName"/>
<Label Text="{Binding OrderCount}" Grid.Row="0" Grid.Column="1" HorizontalTextAlignment="Start" x:Name="lblStepperValue"/>
<Label Text="{Binding OrderDetail}" Grid.Row="1" Grid.Column="0" HorizontalTextAlignment="Start" x:Name="edtDetail"/>
<Label Text="{Binding OrderPrice}" Grid.Row="1" Grid.Column="1" HorizontalTextAlignment="Start" x:Name="lblPriceNormal"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Button BackgroundColor="Red" VerticalOptions="End" Text="Sipariş ver" x:Name="giveOrder" Clicked="giveOrder_Clicked"/>
</Grid>
这样我就有了一个简单的列表视图。数据从 realmDB 发送到这个列表视图。我想在单击按钮时将从 RealmDB 发送到此列表视图的数据发送到我的 Firebase 数据库。
我不想通过 firebase 将数据写入列表视图。
我想做的是将listview中的数据打印到firebase。
这就像将标签上的文本打印到 Firebase。我想将列表视图中的数据打印到 firebase。
这是我按钮的代码块。所以当我按下这个按钮时,listview中的数据将被写入firebase。
即会将标签上的数据发送到firebase。
private async void giveOrder_Clicked(object sender, System.EventArgs e)
{
await firebaseHelper.AddDoner(lstOrder.**!I can't do this part!**);
}
希望它足够揭示。
谢谢:)
这是我为firebase写的部分,不知道这里会不会有错误?
public class FirebaseHelper
{
readonly FirebaseClient firebase = new FirebaseClient("my firebase link");
public async Task<List<DonerModel>> GetAllDoners()
{
return (await firebase
.Child("Doners")
.OnceAsync<DonerModel>()).Select(item => new DonerModel
{
OrderList = item.Object.OrderList
}).ToList();
}
public async Task AddDoner( string lstOrder)
{
await firebase
.Child("Doners")
.PostAsync(new DonerModel() { OrderList = lstOrder});
}
}
enter image description here
要获取已绑定到 ListView 的对象列表,您可以使用 ItemSource 属性.
另一点需要注意的是,如果您需要确切的类型(在您的示例中为 Order),您可以这样做
private async void giveOrder_Clicked(object sender, System.EventArgs e)
{
if(lstOrder.ItemsSource != null && lstOrder.ItemsSource is List<OrderRealm> orders)
{
//send orders to firebase
foreach(var order in orders)
{
await firebaseHelper.AddDoner(order.*field you want to add to firebase*);
}
}
}
我之前问过这个,但是没人能回答。在此先感谢可以提供帮助的人。
<Grid>
<ListView x:Name="lstOrder">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label Text="{Binding OrderName}" Grid.Row="0" Grid.Column="0" HorizontalTextAlignment="Start" x:Name="lblName"/>
<Label Text="{Binding OrderCount}" Grid.Row="0" Grid.Column="1" HorizontalTextAlignment="Start" x:Name="lblStepperValue"/>
<Label Text="{Binding OrderDetail}" Grid.Row="1" Grid.Column="0" HorizontalTextAlignment="Start" x:Name="edtDetail"/>
<Label Text="{Binding OrderPrice}" Grid.Row="1" Grid.Column="1" HorizontalTextAlignment="Start" x:Name="lblPriceNormal"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Button BackgroundColor="Red" VerticalOptions="End" Text="Sipariş ver" x:Name="giveOrder" Clicked="giveOrder_Clicked"/>
</Grid>
这样我就有了一个简单的列表视图。数据从 realmDB 发送到这个列表视图。我想在单击按钮时将从 RealmDB 发送到此列表视图的数据发送到我的 Firebase 数据库。
我不想通过 firebase 将数据写入列表视图。
我想做的是将listview中的数据打印到firebase。
这就像将标签上的文本打印到 Firebase。我想将列表视图中的数据打印到 firebase。
这是我按钮的代码块。所以当我按下这个按钮时,listview中的数据将被写入firebase。
即会将标签上的数据发送到firebase。
private async void giveOrder_Clicked(object sender, System.EventArgs e)
{
await firebaseHelper.AddDoner(lstOrder.**!I can't do this part!**);
}
希望它足够揭示。
谢谢:)
这是我为firebase写的部分,不知道这里会不会有错误?
public class FirebaseHelper
{
readonly FirebaseClient firebase = new FirebaseClient("my firebase link");
public async Task<List<DonerModel>> GetAllDoners()
{
return (await firebase
.Child("Doners")
.OnceAsync<DonerModel>()).Select(item => new DonerModel
{
OrderList = item.Object.OrderList
}).ToList();
}
public async Task AddDoner( string lstOrder)
{
await firebase
.Child("Doners")
.PostAsync(new DonerModel() { OrderList = lstOrder});
}
}
enter image description here
要获取已绑定到 ListView 的对象列表,您可以使用 ItemSource 属性.
另一点需要注意的是,如果您需要确切的类型(在您的示例中为 Order),您可以这样做
private async void giveOrder_Clicked(object sender, System.EventArgs e)
{
if(lstOrder.ItemsSource != null && lstOrder.ItemsSource is List<OrderRealm> orders)
{
//send orders to firebase
foreach(var order in orders)
{
await firebaseHelper.AddDoner(order.*field you want to add to firebase*);
}
}
}