0

我正在尝试为我现有的应用程序实现离线功能。我将记录的信息存储在一个集合中并保存在本地:

Collect(OfflineCustomerInterest, {OTitle: Title_dpd.SelectedText.Value, Ofirstname: FirstName_txt.Text, Olastname: FamilyName_txt.Text, OGender: Gender_dpd.SelectedText.Value, Oemailaddress1: Email_Text.Text, 'OPreferred Language (po_preferredlanguageid)': Language_dpd.Selected.Value, OCountry: Country_dpd.SelectedText.Value});
SaveData(OfflineCustomerInterest, "LocalSavedInterest");

当 iPad 重新连接并使用 ForAll 循环访问集合时,我会加载此数据。

LoadData(OfflineCustomerInterest, "LocalSavedInterest" );

If(Connection.Connected,
ForAll(OfflineCustomerInterest,

Update(FinalOfflineValuesDrops, First(FinalOfflineValuesDrops), {
OfflineTitleValue: OTitle,
OfflineGender: OGender,
OfflineLanguage: Text('OPreferred Language (po_preferredlanguageid)'),
OfflineCountry: OCountry});

If(Connection.Connected, Patch(Leads, Defaults(Leads), {Title: 'Lead 
Title_dpd_2'.Selected.Value, 'First Name': Ofirstname, 'Surname/Family Name': Olastname, 
Gender: 'Lead Gender_dpd_2'.Selected.Value, Email: Oemailaddress1, Country: 
ComboBox3_7.Selected, 'Preferred Language (po_preferredlanguageid)': ComboBox1_2.Selected})
);
);

我遇到的问题是补丁命令中的“性别”、“首选语言(po_preferredlanguage)”和“国家”字段,因为这些字段来自下拉字段,而不是来自文本字段。它们也是 Dataverse 表中的所有复杂数据类型。

下拉字段从 Dataverse 存储中检索项目,如下所示:

If(Connection.Connected, Choices([@Leads].Gender))

和默认值如下:

First(FinalOfflineValuesDrops).OfflineGender

我遇到的问题是,在上传项目时,它似乎只选择了初始默认值。

例如,如果我为“Sam”、“Paul”和“Lucy”设置了三个离线值,则每个人的性别值将是“Male”,其中“OfflineGender”将循环显示“Male”、“Prefer not to say” , “女性”。

有什么方法可以强制刷新它以使其正常工作?

希望我已经很好地解释了这一点,如果没有,请提出问题。

提前感谢您帮助找到解决方案!

4

0 回答 0