aspx中的代码如下:
<body bgcolor="inactivecaptiontext">
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateDeleteButton="True" BorderColor="Black"
HorizontalAlign="Center" OnRowDeleting="GridView1_RowDeleting" Style="z-index: 100;
left: 36px; position: relative; top: 49px" Width="80%">
<HeaderStyle BackColor="Black" BorderColor="#C000C0" ForeColor="White" Height="10px" />
<AlternatingRowStyle BorderColor="#C00000" BorderWidth="6px" />
</asp:GridView>
</div>
</form>
</body>
对应cs中的代码如下:
private void refreshTaskTable()
{
this.GridView1.DataSource = Logic.getTasks(type, statue);
this.GridView1.DataBind();
/*this.GridView1.Columns[0].HeaderText = "任务ID";
this.GridView1.Columns[1].HeaderText = "任务名称";
this.GridView1.Columns[2].HeaderText = "任务类型";
this.GridView1.Columns[3].HeaderText = "任务状态";*/
}
小弟我因为不会ajax,现在是每几秒调用一次refreshTaskTable()来刷新整个gridview,但其实只有Columns[3]( "任务状态")发生变话,请教各位达人,如何能够实现只刷新这一列呢?
------解决方案--------------------------------------------------------
jquery
1.获取的目前的状态
2.$('#GridView1').find('tr:eq(要刷行的行(0--N))').find('td:eq(要刷新的列(0--N))').text('新值')
------解决方案--------------------------------------------------------
可以实现。下边提供一个例子,具体的数据获取和格式还需要楼主自己来写。
test
- HTML code
<html> <head> <title>Ajax Update Table Column</title> <script src="jquery-1.3.1.min.js" type="text/javascript"></script> <script type="text/javascript"> window.onload=function(){ //每隔3秒检查一下数据 window.setInterval(checkStatus,5000); }; //检查数据 function checkStatus(){ //ajax请求数据 $.ajax({ //换成你的文件,构造xml格式的数据就行了 url: 'getuserlist.xml', //请求类型 type: 'GET', //数据格式 dataType: 'xml', //超时时间:1秒 timeout: 2000, //加载数据发生错误 error:function (XMLHttpRequest, textStatus, errorThrown) { alert("XMLHttpRequest="+XMLHttpRequest.responseText+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown); }, //成功加载数据 success: function(xml){ $("#userListTable tr").each(function(){ var trID=$(this).find("td").eq(0).text(); var trStatus=""; $(xml).find("UserList > UserItem").each(function(){ var uid = $(this).find("UID").text(); var ustatus = $(this).find("UStatus").text(); if(trID==uid){ trStatus=ustatus; } }); if(trStatus!=""){ $(this).find("td").eq(2).text(trStatus); } }); } }); } </script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <table border="1" id="userListTable"> <tr><th>ID</th><th>Name</th><th>Status</th></tr> <tr><td>1</td><td>张三</td><td>开放</td></tr> <tr><td>2</td><td>李四</td><td>开放</td></tr> <tr><td>3</td><td>王五</td><td>开放</td></tr> </table> </body></html>