找回密码
 立即注册

QQ登录

只需一步,快速开始

81605231lin

初级会员

3

主题

23

帖子

442

积分

初级会员

积分
442
最新发帖

[已处理] C1TrueDBGrid

81605231lin
初级会员   /  发表于:2015-12-16 10:02  /   查看:8018  /  回复:13
循环多次绑定AddRow()之后有一列显示不出来,后台确定数据有值,一开始也有值,后面就突然没了

13 个回复

倒序浏览
81605231lin
初级会员   /  发表于:2015-12-16 10:04:00
沙发

就是这样

一开始是有的,一段时间后就没了

代码如下:
DataTable crt = SqlHelper.ExecuteDataSetText(@"select StationId,A.TerminalId,SwimmerId, CollectTime, HeartBeat,Temperature, Duration, AlarmId
                        From TerminalData As A Left Outer Join TerminalInfo As B on A.TerminalId = B.TerminalId Where  not exists(select null from TerminalData where
                        A.TerminalId =TerminalId  and CollectTime > A.CollectTime ) And [Status] = '使用中' Order by A.TerminalId", null).Tables[0];

                        dgvRealTime.Rows.Clear();
                        foreach (DataRow item in crt.Rows)
                        {
                            string s = string.Format(@"{0};{1};{2};{3};{4};{5};{6};{7}", item["StationId"], item["TerminalId"], item["SwimmerId"], item["CollectTime"],
                item["HeartBeat"], item["Temperature"], item["Duration"], item["AlarmId"]);
                            dgvRealTime.AddRow(s);
                            timeRecord = DateTime.Now;
                        }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
81605231lin
初级会员   /  发表于:2015-12-16 10:26:00
板凳

随机的消失一列,只要长时间一直运行,就会这样

现在消失另外一列

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
81605231lin
初级会员   /  发表于:2015-12-16 11:40:00
地板

现在消失了多列

我确定后台数据一定有值,打了断点,如下图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-12-16 14:03:00
5#
回复 4楼81605231lin的帖子

非常感谢您的反馈。
我们无法重现您的问题,如果您提供一个重现的Demo,我们可以帮助您测试。
另外,您也可以尝试使用微软的DataGrid控件,看是否有相同的问题,排除平台的限制或是数据源的问题。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
81605231lin
初级会员   /  发表于:2015-12-16 14:51:00
6#
使用微软的控件没有出现这个问题,就是一个死循环一直在读数据,你们可以试试
DateTime timeRecord;
private void CheckTime()
        {
            while (!isStop)
            {
                try
                {
                    if (DateTime.Now.AddSeconds(-1) > timeRecord)
                    {
                        DataTable crt = SqlHelper.ExecuteDataSetText(@"select StationId,A.TerminalId,SwimmerId, CollectTime, HeartBeat,Temperature, Duration, AlarmId
                        From TerminalData As A Left Outer Join TerminalInfo As B on A.TerminalId = B.TerminalId Where  not exists(select null from TerminalData where
                        A.TerminalId =TerminalId  and CollectTime > A.CollectTime ) And [Status] = '使用中' Order by A.TerminalId", null).Tables[0];
                        //DataTable crt = SqlHelper.ExecuteDataSetProducts("Check_RealTime", null).Tables[0];

                        dgvRealTime.Rows.Clear();
                        foreach (DataRow item in crt.Rows)
                        {
                            string s = string.Format(@"{0};{1};{2};{3};{4};{5};{6};{7}", item["StationId"], item["TerminalId"], item["SwimmerId"], item["CollectTime"],
                item["HeartBeat"], item["Temperature"], item["Duration"], item["AlarmId"]);
                            dgvRealTime.AddRow(s);
                            timeRecord = DateTime.Now;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + "查找出错!");
                }
            }
        }
回复 使用道具 举报
81605231lin
初级会员   /  发表于:2015-12-16 14:52:00
7#
跟平台和资源没关系,获取出来的数据都有,就是显示不出来之前有截图
回复 使用道具 举报
81605231lin
初级会员   /  发表于:2015-12-16 14:55:00
8#
不是无法重现,而是需要一段时间的运行,大概两三个小时出现一次
回复 使用道具 举报
81605231lin
初级会员   /  发表于:2015-12-16 15:51:00
9#
快的话,二三十分钟就会出现了
回复 使用道具 举报
81605231lin
初级会员   /  发表于:2015-12-16 15:52:00
10#
在下面添加
for (int i = 0; i < dgvRealTime.RowCount; i++)
                        {
                            dgvRealTime.RefreshRow(i);
                        }
也没用
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部