| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9637 人关注过本帖, 1 人收藏
标题:如何实现:进度条显示加载数据状态
只看楼主 加入收藏
c_23929427
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-22
收藏(1)
 问题点数:0 回复次数:13 
如何实现:进度条显示加载数据状态
如题

(winform中)在加载大量数据时 为了人性化些想在界面上加个进度条显示加载数据的进度     希望知道的朋友指点一二  谢谢


论坛中有过progressbar的使用,可是本人比较愚钝   不知道progressbar怎么和其他空间配合使用,比如说显示加载数据时的进度、复制文件的进度等

[[it] 本帖最后由 c_23929427 于 2008-9-8 15:20 编辑 [/it]]
搜索更多相关主题的帖子: progressbar 
2008-09-08 15:17
c_23929427
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-22
收藏
得分:0 
没人回答...

下面的代码本人觉得比较傻也不知道能不能满足需求,有没有比较好的呀
 private void GetData()
        {
            string strConn = "Data Source=.;Initial Catalog=dbXXX;User ID=sa;pwd=123456";
            SqlConnection con = new SqlConnection(strConn);
            SqlDataAdapter da = new SqlDataAdapter("select * from tableX", con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            int count = ds.Tables[0].Rows.Count;
      
            progressBar1.Minimum = 0;
            progressBar1.Maximum = 100;
            progressBar1.BackColor = Color.Green;
            for (int i = 0; i < count; i++) //为了能看出效果  用for循环来减低速度
            {

                for (int j = 0; j < 1000; j++)
                {
                    if (Convert.ToInt32(ds.Tables[0].Rows[i]["***"].ToString()) > 20)
                        cc++;
                    
                }

                progressBar1.Value = ((i + 1) * 100 / count);
            }


            dataGridView1.DataSource = ds.Tables[0];
        }

总有天晴的一天
2008-09-08 17:52
szy345
Rank: 4
来 自:江苏——南京
等 级:贵宾
威 望:14
帖 子:336
专家分:14
注 册:2008-8-6
收藏
得分:0 
实在不知道,就想一个最笨的方法:
加入一个 label  作为进度条 w_lab ,在 label 上再加一个 label1  作为目前已加载的进度 w_lab1
开始 w_lab1 和 w_lab 的左边对齐,并且 w_lab1 的长度为0,颜色为其他红色,蓝色等等,随便,只要不和 w_lab 颜色一样皆可,
然后就要取总记录数为  len_recno,
已经加载的记录数为    len_rec,
在循环里设置w_lab1.length = len_rec/len_recno * w_lab.length

完成!
明白?
2008-09-08 18:57
乖老鼠
Rank: 5Rank: 5
来 自:四川省
等 级:职业侠客
威 望:2
帖 子:434
专家分:394
注 册:2008-9-8
收藏
得分:0 
还是用progressbar吧,不过我也不怎么会用,期待达人…
2008-09-09 10:15
jfwsp
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-9-22
收藏
得分:0 
回复 1# c_23929427 的帖子
最好使用多线程吧,要不然写在一个线程里面加载数据的时候你的那个PogressBar估计是不会有进度的.
2008-09-23 00:28
duanchangren
Rank: 1
等 级:新手上路
威 望:1
帖 子:252
专家分:0
注 册:2008-7-26
收藏
得分:0 
期待中```
2008-09-23 09:39
wuwenya
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-5
收藏
得分:0 
用过进度条,但现在记的不清楚了...
2008-10-08 22:39
ecjob
Rank: 3Rank: 3
等 级:论坛游侠
威 望:8
帖 子:321
专家分:110
注 册:2006-10-15
收藏
得分:0 
哈哈。。你先搞清楚是在哪里耗了时间吧。

另外:
进度条哪难用?
            progressBar1.Maximum = 999999;
            for (int i = 0; i < progressBar1.Maximum; i++)
            {
                Application.DoEvents();
                progressBar1.Increment(1);

            }

86年出生,广东求 女人/项目/工作 ,见广告即有效.论坛PM
2008-10-08 22:50
myemail1983
Rank: 2
来 自:南京
等 级:新手上路
威 望:3
帖 子:256
专家分:0
注 册:2008-7-27
收藏
得分:0 
Application.DoEvents();
这句有什么作用,没用过这个控件,看msdn没看明白,高手解释下吧

寻找学习的动力,承接小型程序设计,呵呵,为了激励自己学习下。
虽然做不到无私,但会学着去帮助别人
2008-10-09 00:25
乖老鼠
Rank: 5Rank: 5
来 自:四川省
等 级:职业侠客
威 望:2
帖 子:434
专家分:394
注 册:2008-9-8
收藏
得分:0 
我也不会用…等待详细回帖
2008-10-09 16:04
快速回复:如何实现:进度条显示加载数据状态
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012647 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved