利用UpdatePanel+Timer 控件自动更新Gridview的数据

1、首先定义一个UpdatePanel控件,并在UpdatePanel控件的ContentTemplate里包含Timer控件和Gridview控件,将Timer控件设置为UpdatePanel控件的触发器,在Timer控件设置具体的时间间隔触发更新。





  

……..

     

     
     
   


2、在timerTest_Tick定时函数中重新对Gridview绑定数据。

   
 protected void timerTest_Tick(object sender, EventArgs e)
    {
        BindData();     //定时刷新
    }

    private void BindData()
    {

       SqlDataSource1.SelectCommand = @"SELECT A.taskId AS TaskID,
   	   CASE A.taskType WHEN 1 THEN 'UploadProduct' WHEN 2 THEN 'UploadEngine' WHEN 3 THEN 'UploadPattern' WHEN 4 THEN 'UninstallProduct' WHEN 5 THEN 'UninstallEngine' WHEN 6 THEN 'UninstallPattern' WHEN 7 THEN 'RollbackProduct' WHEN 8 THEN 'RollbackEngine' WHEN 9 THEN 'RollbackPattern' ELSE Convert(varchar, A.taskType) END AS TaskType,
       submitTime AS SubmitTime,
       CONVERT(varchar(100), submitTime, 101) AS formatSubmitDate,
       B.UserName AS Submitter,
       C.UserName AS
OPERATOR ,
       A.description AS Description,
       isLocked AS IsLocked,
       finishTime AS FinishTime,
       PreoprStatus= CASE preoprStatus
                         WHEN 0 THEN 'Pending'
                         WHEN 1 THEN 'Processing'
                         WHEN 2 THEN 'Succeeded'
                         WHEN 3 THEN 'Failed'
                     END,
                     oprStatus= CASE oprStatus
                                    WHEN 0 THEN 'Pending'
                                    WHEN 1 THEN 'Processing'
                                    WHEN 2 THEN 'Succeeded'
                                    WHEN 3 THEN 'Failed'
                                END,
                                process.name AS Process
FROM view_task AS A
LEFT JOIN aspnet_Users AS B ON A.submitterId=B.UserId
LEFT JOIN aspnet_Users AS C ON (A.operatorId=C.UserId
                                AND A.operatorId IS NOT NULL)
LEFT JOIN process ON A.processId=process.id
WHERE A.isTerminated=0 AND (taskType=2
     OR taskType=1
     OR taskType=3
     OR taskType=7
     OR taskType=8
     OR taskType=9)
ORDER BY SubmitTime DESC";

     GridView1.DataBind();
    }







参考:http://blog.csdn.net/zhang_hui_cs/article/details/8113079

         http://www.cnblogs.com/Terrylee/archive/2006/11/14/Introduction_to_the_Timer_Control.html


你可能感兴趣的:(asp.net)