有一个DataGrid绑定了数据库,当数据库的数据有改变时,DataGrid能实时更新,请问如何实现

pgwron 2004-11-11 10:48:58
有一个DataGrid绑定了数据库,当数据库的数据有改变时(比如说有新数据加入),DataGrid能实时更新,请问如何实现?听说可以用XMLHTTP来实现?但对XMLHTTP我不熟,麻烦各位大侠帮帮忙,指教一下,如何能实现DataGrid的实时更新,最好能给个例子参考一下,谢谢了!!!!
...全文
195 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
supersyd 2004-11-12
  • 打赏
  • 举报
回复
为什么人都这么变态,刷新是正常的。不刷新不正常!
建议你用 goody9807()
的方法
xyk1996 2004-11-12
  • 打赏
  • 举报
回复
用cache啊,当数据库中表改变时,用触发器生成一个htm文件,然后对cache设定,当htm文件改变时重新生成缓存,这样只有当表改变时才会发生改变
yt_net 2004-11-12
  • 打赏
  • 举报
回复
用iframe定时刷新,或者用timer控件
pgwron2004 2004-11-12
  • 打赏
  • 举报
回复
哎......在页面定时刷新肯定是不可取的,但在后台可以定时刷新吗???
gl637 2004-11-12
  • 打赏
  • 举报
回复
对,定时刷新!
pgwron2004 2004-11-12
  • 打赏
  • 举报
回复
.........................大哥们,理论我也会,我是想要个例子看一下,我不知道怎么写,我是新手!!!
appleblossom 2004-11-12
  • 打赏
  • 举报
回复
定时刷新吧,做个timer控件,然后判断数据库里有没新数据,重新绑定,或者用datatable的add进行添加。
pgwron2004 2004-11-12
  • 打赏
  • 举报
回复
啊啊....帮帮帮帮
zhn0410 2004-11-11
  • 打赏
  • 举报
回复
智能客户端
colinliu 2004-11-11
  • 打赏
  • 举报
回复
页面的定时刷新肯定是不行,闪硕太大了,而且太频繁刷新也不好,时间长了,数据更新又慢了

没有办法在原有页面重新绑定,只能通过一些其他方法。
用IFRAME,让该页面刷新,判断有无新数据,有则通过IFRAME的脚本更新前台数据或让前台页面刷新一次
zeroyou 2004-11-11
  • 打赏
  • 举报
回复
bit
goody9807 2004-11-11
  • 打赏
  • 举报
回复
考虑用智能客户端把
goody9807 2004-11-11
  • 打赏
  • 举报
回复

<xml id=xmlData src="http://localhost/WebService/LoadData/FeaturedService.asmx/GetScores"></xml>

<div id=divDataList>
<table datasrc=#xmlData width="500" border="0" width="70%" cellspacing="1" cellpadding="1" showalign="left" style="line-height: 140%">
<thead>
<tr bgcolor="#0033CC" style="color: #ffffff">
<td width="13%" nowrap>赛事名</td>
<td width="3%" nowrap>對賽隊伍</td>
<td width="25%">比分</td>
<td width="10%" nowrap>對賽隊伍</td>
<td width="25%">半場</td>
<td width="13%" nowrap>比赛状态</td>
</tr>
</thead>
<tbody>
<tr bgcolor="#0033CC" style="color: #ffffff">
<td width="13%" nowrap><span datafld=MatchName></span></td>
<td width="13%" nowrap><span datafld=MatchTime></span></td>
<td width="11%" nowrap><span datafld=HostTeam></span></td>
<td width="3%" nowrap><span datafld=MatchScore></span></td>
<td width="25%"><span datafld=CustomerTeam></span></td>
<td width="10%" nowrap><span datafld=HalfScore></span></td>
<td width="25%"><span datafld=MatchState></span></td>
</tr>
</tbody>
<tfoot>
</tfoot>
</table>
</div>
<div id=divWaitMsg>
请稍候,正在更新数据
</div>
<script language=javascript>
function ShowDataList()
{
divDataList.style.display="";
divWaitMsg.style.display="none";
setTimeout(GetNewData,10000);
}
function GetNewData()
{
divDataList.style.display="none";
divWaitMsg.style.display="";
xmlData.src=xmlData.src;
}
</script>


这样,WEBSERVICE修改为:
[WebMethod]
public string GetScores()
{
string connectionString="Server=Root;database=kakai;User id=sa;password=201080";
SqlConnection conn;
conn=new SqlConnection(connectionString);
string SQL;
SqlDataAdapter Adpt;
DataSet ds;
SQL="Select MatchName,MatchTime, HostTeam,CustomerTeam,MatchScore,HalfScore,MatchState From ShowScores where MatchDate='11月8日'";
Adpt=new SqlDataAdapter(SQL,conn);
ds=new DataSet();
Adpt.Fill(ds,"ShowScores");
return ds.xml;
}


这个代码不完全正确(没有调试),但给出了不使用WEBSERVICE.HTC的解决方案,具体请参考网站:http://www.newart2.com/SucCase.Asp
pgwron 2004-11-11
  • 打赏
  • 举报
回复
麻烦请问一下IFRAME怎么用啊..能不能给个利子看一下呀
luaiping 2004-11-11
  • 打赏
  • 举报
回复
可以通过IFRAME实现页面的局部刷新
_jfeng 2004-11-11
  • 打赏
  • 举报
回复
绑定到dataview,在保存的同时dataview也相应有一条新的
wycking 2004-11-11
  • 打赏
  • 举报
回复
我想这个问题,只能用定时刷新了。要不然,是无法检测到数据库是否更新了。不过你可以换个思路,既然你定时刷新时,会闪烁很大,你可以在某一下区域实现定时刷新,把新的结果取出来,然后在前端用脚本实现DATAGRID的内容更新。
hchxxzx 2004-11-11
  • 打赏
  • 举报
回复
没有办法在原有页面重新绑定,只能通过一些其他方法。
用IFRAME,让该页面刷新,判断有无新数据,有则通过IFRAME的脚本更新前台数据或让前台页面刷新一次
pgwron 2004-11-11
  • 打赏
  • 举报
回复
页面的定时刷新肯定是不行,闪硕太大了,而且太频繁刷新也不好,时间长了,数据更新又慢了
pgwron 2004-11-11
  • 打赏
  • 举报
回复
大哥..那麻烦下请问如何才能自己自动执行绑定呢
加载更多回复(4)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧