c# - 刷新时缺少列表视图详细信息
问题描述
我有一个列表,列出了我所有的客户。当我在搜索框中输入内容时,我会刷新列表。我的问题是,当我输入某些内容时,列表变得不稳定,这意味着列表的某些部分缺少客户姓名等详细信息。
我会告诉你我的意思。
这是加载时列表的样子:
图片 :
这是我点击项目时列表的样子(我在点击项目时刷新了列表)或搜索某些内容:
现在这是我列出页面的代码。
这是我的 XAML 代码:
<ListView SeparatorVisibility="Default" x:Name="lstActivity" ItemSelected="LstActivity_ItemSelected" ItemTapped="LstActivity_ItemTapped" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Frame StyleClass="lstframe" CornerRadius="0" BorderColor="Transparent" HasShadow="False">
<StackLayout StyleClass="lstContainer" VerticalOptions="CenterAndExpand">
<Grid>
<Label VerticalTextAlignment="Center" StyleClass="lstActivityName" VerticalOptions="Center" Grid.Row="0" Grid.Column="0" Text="{Binding ActivityDescription}">
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android" Value="SFProDisplay-Regular.ttf#SFProDisplay-Regular"/>
</OnPlatform>
</Label.FontFamily>
</Label>
<Switch VerticalOptions="Center" Grid.Row="0" Grid.Column="1" IsEnabled="False" IsToggled="{Binding Selected}" />
</Grid>
</StackLayout>
</Frame>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这是我的 XAML.cs 代码:
public void List_Activity()
{
try
{
var keyword = entSearchActivity.Text;
if (String.IsNullOrEmpty(keyword))
{
var query = DefaultSettings.conn.QueryAsync<ActivityTable>("SELECT ActivityDescription, ActivityID, Selected FROM tblActivity ORDER BY ActivityDescription LIMIT 20");
var resultCount = query.Result.Count;
if (resultCount > 0)
{
lstActivity.IsVisible = true;
result = query.Result;
lstActivity.ItemsSource = result;
}
else
{
lstActivity.IsVisible = false;
}
}
else
{
var query = DefaultSettings.conn.QueryAsync<ActivityTable>("SELECT ActivityDescription, ActivityID, Selected FROM tblActivity WHERE ActivityDescription LIKE '%" + keyword +"%' ORDER BY ActivityDescription LIMIT 20");
var resultCount = query.Result.Count;
if (resultCount > 0)
{
lstActivity.IsVisible = true;
result = query.Result;
lstActivity.ItemsSource = result;
}
else
{
lstActivity.IsVisible = false;
}
}
}
catch (Exception ex)
{
Crashes.TrackError(ex);
}
}
这是我的 ActivityTable.cs:
[Table("tblActivity")]
public class ActivityTable
{
[PrimaryKey]
public string ActivityID { get; set; }
public string ActivityDescription { get; set; }
public string RecordLog { get; set; }
public DateTime LastSync { get; set; }
public DateTime LastUpdated { get; set; }
public int Deleted { get; set; }
public int Checked { get; set; }
public int Finished { get; set; }
public bool Selected { get; set; }
}
我的问题是:
- 这是什么/是什么原因?
- 以后如何避免这种情况?
解决方案
推荐阅读
- node.js - 如何在给定方位角和高度的情况下获得太阳的 3D 坐标(XYZ)?
- java - 父类定义的方法如何在子类对象中被调用?
- android - 是否有必要通过弹出窗口显示有关位置(而非背景)权限的显着披露?
- c - C中关于动态内存分配的技术问题
- python - 使用 Python 创建类的属性错误
- android-safe-args - 使用 Safe Args 时添加 android:defaultValue="@null" 后无法构建应用程序
- python - 为什么 isinstance() 函数不起作用?
- python - 如何使用 xlsxwriter 将多个元素写入一个单元格?
- textfield - max_height 不适用于 KivyMD 中的 MDTextField
- java - java - 如何使用java获取具有特定内容的文件名?