最近在研究Xamarin的东西,做到ListView遇到了一些瓶颈,像在数据庞大的情况下,该怎么针对ListView中的数据分组呢?

  基于能力有限的问题,暂时写了一个只可以实现功能的临时解决方案,毕竟,样式和易用性啊还是有点。。。

  废话不多说,直接上代码吧

  首先我写了一个简单的ListView和一个Button按钮

  

 <StackLayout>
<ListView x:Name="listviewData"> </ListView>
<Label x:Name="lblPageCount" TextColor="White"></Label>
<Button Clicked="Button_OnClicked" Text="Next"/>
</StackLayout>

  后台的话,只是在构造函数中加入了默认数据

  

public List<string> StrListData { get; set; }
public int PageIndex { get; set; } //当前页
public int PageSize { get; set; } //显示条数
public int PageCount { get; set; } //总页数
public int RecordCount { get; set; } //记录的总条数 public ListTestPage()
{
InitializeComponent();
List<string> strList = new List<string>();
for (int i = 1; i <= 100; i++)
{
strList.Add("Name" + i);
}
StrListData = strList;
PageIndex = 0;
PageSize = 10;
PageCount = 100;
this.lblPageCount.Text = (PageIndex + 1).ToString();
List<string> strList2 = strList.GetRange(PageIndex, PageSize);
this.listviewData.ItemsSource = strList2;
}

  因为我只是为了写一个小例子来测试一下,所以全部都写到一块去了,在MVVM下应该也不会有什么问题吧,还没来得及测试。。

  

  public void GetListData()
{
PageIndex++;
int pageStart = PageIndex * PageSize;
int pageEnd = (PageIndex + 1) * PageSize;
this.lblPageCount.Text = (PageIndex + 1).ToString();
List<string> strList2 = StrListData.GetRange(0, pageEnd);
this.listviewData.ItemsSource = strList2;
} private void Button_OnClicked(object sender, EventArgs e)
{
GetListData();
}

  然后这就是按钮的实现方法了。

  

  其实我就是单纯的利用了ListView的GetRange。

  最近还在研究更好的方法。

  如果吧友有更好的方法和案例可以拿给小弟来参考一下的话,希望你们可以给我留言发一下网站demo啊案例啊什么的,我好学习一下。

  外网的也可以。

  最后,谢谢大家啦~

Xamarin.Forms ListView点击按钮刷新最新数据的更多相关文章

  1. 菜鸟的Xamarin.Forms前行之路——按钮的按下抬起事件的监控(可扩展至其他事件)

    提问:监控按钮的点击事件,可以通过按钮的Click事件,或者Command绑定,那么如何监控按钮的按下与抬起,或者移动,长按,双击等事件? 解决方法:各个平台自定义渲染依赖注入. 共享项目PCL: 1 ...

  2. jQuery 点击按钮刷新页面

    //页面加载时绑定按钮点击事件 $(function () { $("#按钮id").click(function () { refresh(); }); }); //点击按钮调用 ...

  3. Xamarin.Forms listview中的button按钮,实现带着参数返回上一级页面

    今天在做列表显示的时候遇到一个问题,就是在ListView中如何才能让一个button的按钮工作并且包含参数呢? 其实有点类似于rep里的控件无法起获取一样.在Xamarin中,当你button绑定事 ...

  4. JavaScript 弹出窗体点击按钮返回选择数据的实现

    首先是父页面的代码: <head runat="server"> <title>无标题页</title> <%-- <script ...

  5. yii防止延迟用户多次点击按钮重复提交数据

    是不是被用户的行为所困扰? 一. 一个表单用户点击提交按钮了N次,这也导致了数据提交了N次. 为了此受到了测试的欺辱,受到了老板的批评? 不用怕,它就是来拯救你的. 第一步:打开命令行,敲入 comp ...

  6. GrideVlew提供点击按钮添加新数据,单击项目修改,长按删除功能

    package com.example.wang.myapplication; import android.app.AlertDialog; import android.content.Dialo ...

  7. 关于xamarin.forms 中 list 的loadmore

    前言 最近几天在研究上拉加载啊,下拉刷新啊什么的.然而坑爹的事情总是那么多.在xamarin.forms中,list自带的,并没有上拉加载的这个属性(难道当初他们封装方法时,就不会想到数据多了会咋整吗 ...

  8. Xamarin Forms:小马过河,王者归来

    因为我媳妇的原因,去年下半年从零开始学习Android原生开发,做了一个答题库app.整体给我的感觉是入门难度不大,前期折腾一番,大部分时间都是花在开发上面,其实任何一门语言都是如此. 今年我又有另一 ...

  9. Xamarin.Forms 开发资源集合(复制)

    复制:https://www.cnblogs.com/mschen/p/10199997.html 收集整理了下 Xamarin.Forms 的学习参考资料,分享给大家,稍后会不断补充: UI样式 S ...

随机推荐

  1. GridView实现方块布局

    效果如下: 先创建一个BaseViewHolder package com.example.griddemo; import android.util.SparseArray; import andr ...

  2. [SharePoint 2013] Automatic deployment script

    Implement automatic deployment through windows task. Add-PsSnapin Microsoft.SharePoint.PowerShell $t ...

  3. GCD的简单用法

    /* 创建一个队列用来执行任务,TA属于系统预定义的并行队列即全局队列,目前系统预定义了四个不同运行优先级的全局队列,我们可以通过dispatch_get_global_queue来获取它们 四种优先 ...

  4. ios移动端部分手机不支持background-attachment: fixed 的解决办法

    ios系统和某些移动端background-attachment:fixed不兼容性,没有任何效果,但可以hack一下就可以了,代码如下: ps:想在哪个标签加背景,可以在它class后:before ...

  5. python知识点总结

    此知识要点,是根据学习廖雪峰phthon3.0教程总结的,所以结构基本和这个教程的结构相同. 背景知识 python是什么?(1)python是一门编程语言,意味着可以用python编写程序,完成一定 ...

  6. 如何使用JDBC链接数据库

    1.加载数据库驱动 不同的数据库加载的驱动不一样 Class.forName(com.MySQL.jdbc.Driver) Class.forName(oracle.jdbc.driver.Oracl ...

  7. 摘抄的 JAVA JDOM 操作XML文件

    JDOM修炼篇 用过XERCES的程序员都会感到,有时候用一句话就可以说清楚的事,当用XERCES的API来实现时,要三四行程序.   回页首 获得并安装JDOM 在 http://www.jdom. ...

  8. grunt 入门学习

    前端工作流,Grunt上手指南 Posted@2013-04-20 7:15 a.m. CategoriesGrunt ,  javascript 我想先花点时间回忆一下作为一个前端需要做的工作(Lo ...

  9. 为什么要配置sdk-tools/platform-toools?

    为了方便使用Android SDK包含的开发工具,我们在系统环境变量中的Path设置Android SDK的安装目录下的tools目录. Android SDK中: platform-tools里有a ...

  10. CSRF 攻击

    一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSR ...