(转) 实现wince datagrid 上下滑屏数据浏览
开发 基于wince 手持设备数据库应用时 由于是触摸屏 当datagrid 数据过多 往往用户烦于去控制又窄又细的上下滚动条 尤其是高分辨率的屏上 (如魅族M8系统 720×480)
而且datagrid 不支持触摸拖动 所以自己研究出来如下 事件组合
//x y 是静态变量 鼠标按下 坐标记录
private void dataGrid2_MouseDown(object sender, MouseEventArgs e)
{
x = e.X;
y = e.Y;
}
// 鼠标滑动事件处理
private void dataGrid2_MouseMove(object sender, MouseEventArgs e)
{
try
{
//当前鼠标y坐标值与滑动开始y值的差 给予datagrid 上下滑动距离值
yy = e.Y - y;
//25 值 datagrid行高值(这个值不定 需要自己反复试得到理想值) 根据距离给定滑动行数
yy = yy / ;
dataGrid2.CurrentRowIndex = dataGrid2.CurrentRowIndex + yy;
}
//捕捉不做任何处理
catch
{ }
}
使用 效果不错!
测试发现这个并不是很好使,后来又自己定义添加的新方法比较好使
在datagrid上的Controls成员内有三个成员比较重要,其中Controls[1]表示的滚动条
我们在拖动滚动条的时候datagrid可以上下滚动,如果将鼠标的拖动绑定在滚动条的滚动上,基本上就可以实现对datagrid的拖动了,因此实现手段如下
private static int y1;//定义存储变量
private static int ScrMinimum;//scrollbar的最大最小值
private static int ScrMaximum;
VScrollBar ScrBar = new VScrollBar(); //新建一个滚动条
private void MouseDown(object sender, MouseEventArgs e)
{
try
{
y1 = e.Y;
ScrBar = (VScrollBar)dG_Task.Controls[];//获取datagrid上的滚动条 竖状
ScrMinimum = ScrBar.Minimum;
ScrMaximum = ScrBar.Maximum;
}
catch (System.Exception ex)
{
}
}
void MouseMove(object sender, MouseEventArgs e)
{ try
{
int _dec = y1-e.Y;
int _NewValue= ScrBar.Value + _dec/;//选取一个合适的滚动值
if (_NewValue < ScrMinimum)
ScrBar.Value = ScrMinimum;
else if (_NewValue > ScrMaximum)
ScrBar.Value = ScrMaximum;
else
ScrBar.Value = _NewValue;
}
catch (System.Exception ex)
{
}
}
(转) 实现wince datagrid 上下滑屏数据浏览的更多相关文章
- Jquery实现手机上下滑屏滑动的特效代码
要引入两个jquery插件 可以去网上下载 <script src="jquery-1.11.1.min.js"></script><script s ...
- NPOI导出WPF DataGrid控件显示数据
最近做个项目,需要导出DataGrid显示的数据,中间遇到了不少的坑,在此纪录一下,方便以后查看,也希望能给用到的人,一点帮助. 导出DataGrid显示的数据,并不是导出DataGrid的Items ...
- 从WEB SERVICE 上返回大数据量的DATASET
前段时间在做一个项目的时候,遇到了要通过WEB SERVICE从服务器上返回数据量比较大的DATASET,当然,除了显示在页面上以外,有可能还要用这些数据在客户端进行其它操作.查遍了网站的文章,问了一 ...
- vue+echarts+datav大屏数据展示及实现中国地图省市县下钻
随着前端技术的飞速发展,大数据时代的来临,我们在开发项目时越来越多的客户会要求我们做一个数据展示的大屏,可以直观的展示用户想要的数据,同时炫酷的界面也会深受客户的喜欢. 大屏展示其实就是一堆的图表能够 ...
- 使用Hue上传hive数据
大概逻辑是先上传hdfs数据,然后创建hive外部表,关联到hdfs上传数据的位置. 截图比较概要,但是用起来很简单 1.创建路径和上传文件 2.创建外部表
- Easyui的datagrid结合hibernate实现数据分页
最近在学习easyui的使用,在学到datagrid的时候遇到了一些问题,终于抽点时间整理了一下,分享出来,请各位前辈高手多多指教! 1.先来看看效果,二话不说,上图直观! 2.easyui的data ...
- WINCE设备开机灰屏问题(很怪异)
WINCE设备开机灰屏问题(很怪异) 1. 问题现象 图1 无法进入系统,虽然没有调试信息,但应该可以判断是程序跑飞了.我们这款产品用到3种显示屏(采用不同的驱动IC),可是测试发现1和2号屏 ...
- Android开发之从网络URL上下载JSON数据
网络下载拉取数据中,json数据是一种格式化的xml数据,非常轻量方便,效率高,体验好等优点,下面就android中如何从给定的url下载json数据给予解析: 主要使用http请求方法,并用到Htt ...
- bootstrap上传表单的时候上传的数据默认是0 一定要小心
bootstrap上传表单的时候上传的数据默认是0 一定要小心
随机推荐
- Docker部署注册中心、Docker创建私有镜像库、自签名证书、Deploy a registry server
这是我在内部部署Docker Registry时记录下来的笔记,操作环境是Centos 7.Docker 18.06.1-ce 1.运行registry 我当前所使用的主机的IP是192.168.1. ...
- 使用UltraEdit 替换解决---文字中含有逗号的文件,如何把逗号自动转换成为:回车换行呢?
实际工作中有时经常遇到一个问题: 一行文字中含有逗号,如何把逗号自动转换成为:回车换行呢? 普遍存在的问题,用Ultredit中^r^n(回车换行)也可以完成.提供大家参考. 王乐,李宏宇,张志鹏,刘 ...
- SD-WAN用户实践分享:老网工趟出的SD-WAN成功路
在这个离开“人大物云”(人-人工智能.大-大数据.物-物联网.云-云计算)话题都张不开嘴的年代,在这个在咖啡店谈生意都不好意思低于1个亿的年代,反思我的老本行——网络,正在以一种全新的.更加重要的姿态 ...
- 洛谷——P2912 [USACO08OCT]牧场散步Pasture Walking(lca)
题目描述 The N cows (2 <= N <= 1,000) conveniently numbered 1..N are grazing among the N pastures ...
- K&R——第五章 指针与数组
#include <stdio.h> #define maxsize 5000 char buf[maxsize]; char *head = buf; char *new(int siz ...
- spring-boot实战【01】:Hello World项目搭建
原文:http://www.cnblogs.com/yucongblog/p/7355519.html 简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用S ...
- 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 【转】
http://www.cnblogs.com/powertoolsteam/p/MVC_one.html 系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会A ...
- 【OpenGL】OpenGL帧缓存对象(FBO:Frame Buffer Object) 【转】
http://blog.csdn.net/xiajun07061225/article/details/7283929/ OpenGL Frame BufferObject(FBO) Overview ...
- nyoj 1077 小博弈 【另类巴什博奕】
分析:分析当整除(a+b)的时候肯定是后者胜利,假设余数不等于0的时候.假设余数大于b肯定是前者胜利,否则后者胜利. 代码: import java.math.*; import java.util. ...
- 关于Label::createWithBMFont中资源文件使用的坑爹问题解决方式
1.问题 使用Label的createWithBMFont,结果.fnt的资源总是找不到或者获取数据失败.原来.fnt资源的使用须要配合该资源的.png共同 使用,如bitmapFontTest3.f ...