WPF 流加载

        /// <summary>
        /// datatable分页
        /// </summary>
        /// <param name="dt">源datatable</param>
        /// <param name="PageIndex">第几页</param>
        /// <param name="PageSize">每页记录数</param>
        /// <returns></returns>
        public DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)
        {
            if (PageIndex == 0)
                return dt;

            DataTable newdt = dt.Copy();
            newdt.Clear();

            int rowbegin = (PageIndex - 1) * PageSize;
            int rowend = PageIndex * PageSize;

            if (rowbegin >= dt.Rows.Count)
                return newdt;

            if (rowend > dt.Rows.Count)
                rowend = dt.Rows.Count;
            for (int i = rowbegin; i <= rowend - 1; i++)
            {
                DataRow newdr = newdt.NewRow();
                DataRow dr = dt.Rows[i];
                foreach (DataColumn column in dt.Columns)
                {
                    newdr[column.ColumnName] = dr[column.ColumnName];
                }
                newdt.Rows.Add(newdr);
            }
            return newdt;
        }
private void sv_ScrollChanged(object sender, ScrollChangedEventArgs e)
        {
            try
            {
                ScrollViewer sv = e.OriginalSource as ScrollViewer;
                if (sv != null && e.VerticalChange != 0)
                {
                    if (sv.VerticalOffset == sv.ExtentHeight - sv.ViewportHeight)//到底
                    {
                        //TODO:加载下条数据
                        if (SteamDataTable != null)
                        {
                            Pgindex++;
                            AddData(GetPagedTable(SteamDataTable, Pgindex, PageSize));
                        }
                    }
                }
            }
            catch
            { }
        }

原文地址:https://www.cnblogs.com/SeNaiTes/p/10239847.html

时间: 2024-10-04 23:31:25

WPF 流加载的相关文章

WPF循环加载图片导致内存溢出的解决办法

程序场景:一系列的图片,从第一张到最后一张依次加载图片,形成"动画". 生成BitmapImage的方法有多种: 1. var source=new BitmapImage(new Uri("图片路径",UriKind.xxx)); 一般的场景使用这种方法还是比较方便快捷,但是对于本场景,内存恐怕得爆. 2. var data =File.ReadAllBytes("图片路径"); var ms = new System.IO.MemoryStr

js实现瀑布流加载图片效果

今天学习了一个瀑布流加载效果,很多网站都有瀑布流效果,瀑布流就是很多产品显示在网页上,宽相同,高度不同,表现为多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.原理是:1.设定一行中的列数:2.取第一行中每一个div的高度并把每一个高度放进一个数组中:3.算出数组中最小高度的index值:4.把第二行的第一个div放到最小高度的div的下方并把重新算出的高度值放进数组中,重新计算最小高度的index值:5.以此类推实现多栏布局的瀑布流效果:6.如果最后一张div的高度

js自定义流加载

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <% String path = request.getContextPath(); String basePa

【.net深呼吸】WPF异步加载大批量图像

如何在WPF中加载大批量数据,并且不会阻塞UI线程,尤其是加载大量图片时,这活儿一直是很多朋友都相当关注的.世上没有最完美的解决之道,咱们但求相对较优的方案. 经过一些试验和对比,老周找到了一种算是不错的方案,重点是这个方案比较简单,无须闯五关斩六将,只要你对数据绑定有些基础就好了. 好,F话少扯,咱们开始吧. 老周手里没有那么多照片,那就用同一张图片做测试吧.假设我要在应用程序运行时加载 2 万张图片,我想2W张应该可以了,没见过谁会傻到要加载100W张那么变态. 大致情况是:数据源集合是一个

WPF动态加载3D&nbsp;放大-旋转-平移

原文:WPF动态加载3D 放大-旋转-平移 WavefrontObjLoader.cs 第二步:ModelVisual3DWithName.cs public class ModelVisual3DWithName:ModelVisual3D { public string Name { get; set; } public object Tag { get; set; } } 第三步:MainWindow.xmal <Grid x:Name="lay"> <View

关于产品的一些思考——瀑布流加载

对网站页面的瀑布流加载已经忍受了很长时间,今天就在这里记录一下,讨论下那些令我"厌恶"的瀑布流加载. 当初好像是因为Pinterest,各大网站开始纷纷引入瀑布流加载方式,引入瀑布流仁者见仁智者见智,个人觉得还是不是很友好的(瀑布流适合图片类网站,针对文章性网站,真的不是很合适),我是可以在同一个页面看完所有相关的内容,可是我要无限地滚动鼠标,无限地点按向下箭头或者无限地点按空格键,还是觉得没有点击下一页要好,尤其是当用户看了很多内容,想回头寻找自己感兴趣的内容的时候,当然可以使用Ct

layui流加载及传参

<ul class="shop-list ml10 mr10 store_list" id='demo' style="margin-top:80px;"></ul> <script type="text/javascript"> layui.use('flow', function(){ var $ = layui.jquery; //不用额外加载jQuery,flow模块本身是有依赖jQuery的,直接用即

wpf无法加载程序集的元数据 可能已从web下载

wpf无法加载程序集的元数据 可能已从web下载     别人写的wpf程序,源代码放到自己电脑上,设计器加载出现问题:无法加载程序集“ChwareStudio.MetaModel”的元数据. 解决方案,只需要对你所引用或者额外加载的dll文件进行“接触锁定”操作就行了. 解除锁定步骤:找到你的dll->右键属性->通用选项卡->解除锁定即可.

css3多列布局瀑布流加载样式

看了一些网站的瀑布流加载,正好看到css3的多列属性,尝试着写了一个css做布局的瀑布流. 直接上代码: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>CSS3多列属性瀑布流</title> <style> /*大层*/ .container{width:80%;margin: 0 auto;}