DataControl

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;




namespace DBAccess
{
    public class DataControl
    {
        public DataSet GetEquip()
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(" SELECT e.ID, e.WatchNo, e.WatchPara, e.WatchUnit, e.WatchMax, e.WatchMin ");
            sb.Append(" FROM Equipment e ORDER BY e.ID DESC");
            return SqlHelper.ExecuteDataSet(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, sb.ToString());
        }




        public DataSet GetEquipDataByDate(string strID, string strDate)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(" SELECT t.TimeValue,w.EID,w.WatchDate,w.WatchTime,w.WatchValue  ");
            sb.Append(" FROM TimeDict t LEFT JOIN WatchData w ON t.TimeValue=w.WatchTime  ");
            sb.Append(" AND w.WatchDate=@WatchDate AND w.EID=@EID  ORDER BY t.TimeValue ");
            SqlParameter[] p ={
                                 new SqlParameter("@WatchDate",strDate),
                                 new SqlParameter("@EID",strID)
                             };
            return SqlHelper.ExecuteDataSet(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, sb.ToString(), p);
        }




        public int SetData(string strID, string strNum, string strDate, string strTime)
        {
            DeleteData(strID, strDate, strTime);
            StringBuilder sb = new StringBuilder();
            sb.Append(" INSERT INTO WatchData (EID,WatchDate,WatchTime,WatchValue,WatchDateTime) ");
            sb.Append(" VALUES(@EID,@WatchDate,@WatchTime,@WatchValue,@WatchDateTime) ");








            SqlParameter[] p ={
                                 new SqlParameter("@EID",strID),
                                 new SqlParameter("@WatchDate",strDate),
                                 new SqlParameter("@WatchValue",strNum),
                                 new SqlParameter("@WatchTime",strTime),
                                 new SqlParameter("@WatchDateTime",Convert.ToDateTime(strDate).AddHours(Convert.ToInt32(strTime)))
                             };
            return SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, sb.ToString(), p);
        }




        public int DeleteData(string strID, string strDate, string strTime)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(" DELETE FROM WatchData WHERE WatchDate =@WatchDate AND EID=@EID AND WatchTime=@WatchTime ");
            SqlParameter[] p ={
                                 new SqlParameter("@EID",strID),
                                 new SqlParameter("@WatchDate",strDate),
                                 new SqlParameter("@WatchTime",strTime)
                                          };
            return SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, sb.ToString(), p);
        }
























        public DataSet GetViewData(string strStart, string strEnd)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(" select e.ID,e.WatchNo,e.WatchPara,e.WatchUnit,e.WatchMax,e.WatchMin,e.ControlPoint, ");
            sb.Append(" cast(AVG(w.WatchValue) as decimal(15,2)) as AVGValue, ");
            sb.Append(" CASE WHEN MAX(w.WatchValue)> e.WatchMax THEN MAX(w.WatchValue) ELSE NULL END AS MAXOverValue, ");
            sb.Append(" CASE WHEN Min(w.WatchValue)< e.WatchMin THEN Min(w.WatchValue) ELSE NULL END AS MinOverValue, ");
            sb.Append(" (select count(WatchValue) from WatchData where (WatchValue>e.WatchMax or WatchValue<e.WatchMin) and EID=e.ID ");
            if (!string.IsNullOrEmpty(strStart))
            {
                sb.Append(" and WatchDate>= '" + strStart + "' ");
            }
            if (!string.IsNullOrEmpty(strEnd))
            {
                sb.Append(" and WatchDate<= '" + strEnd + "' ");
            }


            sb.Append(" ) as OutCount ");
            sb.Append(" FROM Equipment e left join WatchData w ");
            sb.Append(" ON e.ID=w.EID ");


            if (!string.IsNullOrEmpty(strStart))
            {
                sb.Append(" and w.WatchDate>= '" + strStart + "' ");
            }
            if (!string.IsNullOrEmpty(strEnd))
            {
                sb.Append(" and w.WatchDate<= '" + strEnd + "' ");
            }
            if (strStart == DateTime.Now.ToString("yyyy-MM-dd") && strEnd == DateTime.Now.ToString("yyyy-MM-dd"))
            {
                sb.Append(" AND w.WatchDateTime<GETDATE() ");
            }


            sb.Append(" group by e.ID,e.WatchNo,e.WatchPara,e.WatchUnit,e.WatchMax,e.WatchMin,e.ControlPoint ");




            return SqlHelper.ExecuteDataSet(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, sb.ToString());
        }




        public DataSet GetDailyChart(string strID, string strDate)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(" SELECT e.ID,e.WatchNo,e.WatchUnit,e.WatchMax,e.WatchMin, ");
            sb.Append(" w.WatchDate,w.WatchValue,w.WatchTime ");
            sb.Append(" FROM Equipment e JOIN WatchData w ON e.ID=w.EID ");
            sb.Append(" WHERE e.ID=@ID AND w.WatchDate=@WatchDate ");
            if (strDate == DateTime.Now.ToString("yyyy-MM-dd"))
            {
                sb.Append(" AND w.WatchDateTime<GETDATE() ");
            }
            sb.Append(" order by WatchDate, WatchTime ASC ");




            SqlParameter[] p ={
                                 new SqlParameter("@ID",strID),
                                 new SqlParameter("@WatchDate",strDate)
                             };
            return SqlHelper.ExecuteDataSet(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, sb.ToString(), p);








        }
        public DataSet GetWeeklyChart(string strID, string strStart, string strEnd)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(" SELECT e.ID,e.WatchNo,e.WatchUnit,e.WatchMax,e.WatchMin, ");
            sb.Append(" w.WatchDate,w.WatchValue,w.WatchTime, w.WatchDateTime  ");
            sb.Append(" FROM Equipment e JOIN WatchData w ON e.ID=w.EID ");
            sb.Append(" WHERE e.ID=@ID AND w.WatchDate BETWEEN @StartDate AND @EndDate");
            sb.Append(" order by WatchDate, WatchTime ASC ");




            SqlParameter[] p ={
                                 new SqlParameter("@ID",strID),
                                 new SqlParameter("@StartDate",strStart),
                                 new SqlParameter("@EndDate",strEnd)
                             };
            return SqlHelper.ExecuteDataSet(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, sb.ToString(), p);
        }




        public DataSet GetMonthlyChart(string strID, DateTime watchDate)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(" SELECT e.ID,e.WatchNo,e.WatchUnit,e.WatchMax,e.WatchMin, ");
            sb.Append(" w.WatchDate,w.WatchValue,w.WatchTime, w.WatchDateTime ");
            sb.Append(" FROM Equipment e JOIN WatchData w ON e.ID=w.EID ");
            sb.Append(" WHERE e.ID=@ID AND YEAR(w.WatchDate)=@Year AND MONTH(w.WatchDate)=@Month ");
            sb.Append(" order by WatchDate, WatchTime ASC ");




            SqlParameter[] p ={
                                 new SqlParameter("@ID",strID),
                                 new SqlParameter("@Year",watchDate.Year.ToString()),
                                 new SqlParameter("@Month",watchDate.Month.ToString())
                             };
            return SqlHelper.ExecuteDataSet(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, sb.ToString(), p);
        }




        public DataSet GetYearChart(string strID, DateTime watchDate)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(" SELECT e.ID,e.WatchNo,e.WatchUnit,e.WatchMax,e.WatchMin, ");
            sb.Append(" w.WatchDate,w.WatchValue,w.WatchTime, w.WatchDateTime ");
            sb.Append(" FROM Equipment e JOIN WatchData w ON e.ID=w.EID ");
            sb.Append(" WHERE e.ID=@ID AND YEAR(w.WatchDate)=@Year ");
            sb.Append(" order by WatchDate, WatchTime ASC ");




            SqlParameter[] p ={
                                 new SqlParameter("@ID",strID),
                                 new SqlParameter("@Year",watchDate.Year.ToString())
                             };
            return SqlHelper.ExecuteDataSet(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, sb.ToString(), p);
        }












        //SELECT e.ID,e.WatchNo,e.WatchUnit,e.WatchMax,e.WatchMin,
        //w.WatchDate,w.WatchValue,w.WatchTime
        //FROM Equipment e join WatchData w on e.ID=w.EID
        //where e.ID=@ID and w.WatchDate=@WatchDate




        //order by WatchDate, WatchTime ASC
















        //select e.ID,e.WatchNo,e.WatchPara,e.WatchUnit,e.WatchMax,e.WatchMin,
        //AVG(w.WatchValue)as AVGValue,
        //CASE WHEN MAX(w.WatchValue)> e.WatchMax THEN MAX(w.WatchValue) ELSE NULL END AS MAXOverValue,
        //CASE WHEN Min(w.WatchValue)< e.WatchMin THEN Min(w.WatchValue) ELSE NULL END AS MinOverValue,
        //(select count(WatchValue) from WatchData where WatchValue>e.WatchMax or WatchValue<e.WatchMin and EID=e.ID) as OutCount




        //from Equipment e left join WatchData w 
        //on e.ID=w.EID and w.WatchDate between '2012-10-1' and '2012-10-31'




        //group by e.ID,e.WatchNo,e.WatchPara,e.WatchUnit,e.WatchMax,e.WatchMin




    }

}




ChartShow.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;




namespace WatchManager
{
    public partial class ChartShow : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                txtDate.Text = DateTime.Now.ToString("yyyy-MM-dd");


                Bind();
                SetTimer();
            }
        }








        protected void SetTimer()
        {
            if (radDaily.Checked == true && txtDate.Text == DateTime.Now.ToString("yyyy-MM-dd"))
            {
                Timer1.Enabled = true;
            }
            else
            {
                Timer1.Enabled = false;
                return;
            }
            int hour = DateTime.Now.Hour;
            if ((hour + 1) % 2 == 0)
            {
                Timer1.Interval = (60 - DateTime.Now.Minute) * 60 * 1000 + (60 - DateTime.Now.Second) * 1000;
            }
            else
            {
                Timer1.Interval = 1 * 60 * 60 * 1000 + (60 - DateTime.Now.Minute) * 60 * 1000 + (60 - DateTime.Now.Second) * 1000;
            }
        }




        protected void Bind()
        {
            string strID = "0";
            if (!string.IsNullOrEmpty(Request.QueryString["ID"]))
            {
                strID = Request.QueryString["ID"].ToString();
            }
            if (strID == "0")
            {
                Response.Redirect("DataView.aspx");
            }
            else
            {
                if (radDaily.Checked == true) { BindDaily(strID); SetTimer(); }
                if (radWeekly.Checked == true) BindWeekly(strID);
                if (radMonthly.Checked == true) BindMonthly(strID);
                if (radYear.Checked == true) BindYear(strID);


                //myChart.ChartAreas["ChartArea1"].AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount;


            }
        }












        protected void BindDaily(string strID)
        {
            myChart.Visible = true;
            ChartWeek.Visible = false;
            ChartMonth.Visible = false;
            ChartYear.Visible = false;




            DBAccess.DataControl dbControl = new DBAccess.DataControl();
            string strDate = txtDate.Text;
            myChart.DataSource = dbControl.GetDailyChart(strID, strDate);
            myChart.DataBind();
            myChart.ChartAreas["ChartArea1"].AxisX.LabelStyle.Interval = 1;
            myChart.ChartAreas["ChartArea1"].AxisX.Title = "时间";
            myChart.ChartAreas["ChartArea1"].AxisY.Title = "数值";
            


        }




        protected void BindWeekly(string strID)
        {
            myChart.Visible = false;
            ChartWeek.Visible = true;
            ChartMonth.Visible = false;
            ChartYear.Visible = false;




            DBAccess.DataControl dbControl = new DBAccess.DataControl();
            string strStart = "";
            string strEnd = "";
            DateTime tempDate = Convert.ToDateTime(txtDate.Text);




            for (int i = 0; i < 7; i++)
            {
                if (tempDate.DayOfWeek.ToString() == "Sunday")
                {
                    strEnd = tempDate.ToShortDateString();
                    strStart = tempDate.AddDays(-6).ToShortDateString();
                    i = 8;
                }
                else
                {
                    tempDate = tempDate.AddDays(1);
                }
            }


            ChartWeek.DataSource = dbControl.GetWeeklyChart(strID, strStart, strEnd);
            ChartWeek.DataBind();
            ChartWeek.ChartAreas["ChartArea1"].AxisX.Title = "时间";
            ChartWeek.ChartAreas["ChartArea1"].AxisY.Title = "数值";
            //ChartWeek.ChartAreas["ChartArea1"].AxisX.LabelStyle.Interval = 1;
        }
        protected void BindMonthly(string strID)
        {
            myChart.Visible = false;
            ChartWeek.Visible = false;
            ChartMonth.Visible = true;
            ChartYear.Visible = false;
            DBAccess.DataControl dbControl = new DBAccess.DataControl();
            ChartMonth.DataSource = dbControl.GetMonthlyChart(strID, Convert.ToDateTime(txtDate.Text));
            ChartMonth.DataBind();


            ChartMonth.ChartAreas["ChartArea1"].AxisX.Title = "时间";
            ChartMonth.ChartAreas["ChartArea1"].AxisY.Title = "数值";
            ChartMonth.ChartAreas["ChartArea1"].AxisX.LabelStyle.Interval = 5 ;
        }
        protected void BindYear(string strID)
        {
            myChart.Visible = false;
            ChartWeek.Visible = false;
            ChartMonth.Visible = false;
            ChartYear.Visible = true;
            DBAccess.DataControl dbControl = new DBAccess.DataControl();
            ChartYear.DataSource = dbControl.GetYearChart(strID, Convert.ToDateTime(txtDate.Text));
            ChartYear.DataBind();


            ChartYear.ChartAreas["ChartArea1"].AxisX.Title = "时间";
            ChartYear.ChartAreas["ChartArea1"].AxisY.Title = "数值";
            ChartYear.ChartAreas["ChartArea1"].AxisX.LabelStyle.Interval = 30;
        }




        protected void btnSearch_Click(object sender, EventArgs e)
        {
            Bind();
            SetTimer();
        }




        protected void Timer1_Tick(object sender, EventArgs e)
        {
            Bind();
            Timer1.Interval =  2 * 60 * 60 * 1000;
        }




    }
}


DataView.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
    CodeBehind="DataView.aspx.cs" Inherits="WatchManager.DataView" %>




<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <script src="Scripts/TableFix.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">
        $(document).ready(function () {
            FixTableShow("MyTable", 0, 900, 400);


           
        });
    </script>


  
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <div>
        <div class="BannerText">
            数据统计
        </div>
        <div class="TopControlList">
            起始时间:<asp:TextBox ID="txtStartDate" runat="server" οnfοcus="WdatePicker()"  style="width:75px" ></asp:TextBox>
            结束时间:<asp:TextBox ID="txtEndDate" runat="server" οnfοcus="WdatePicker()"  style="width:75px"></asp:TextBox>
            <asp:Button ID="btnSearch" runat="server" Text="查询" 
                οnclick="btnSearch_Click" />
        </div>
        <div class="MainContent">
                               


            <div id="MyTable_tableLayout">
                <div id="MyTable_tableFix">
                    <table id="MyTable_tableFixClone" border="1" cellspacing="0" cellpadding="0">
                    </table>
                </div>
                <div id="MyTable_tableHead">
                    <table id="MyTable_tableHeadClone" border="1" cellspacing="0" cellpadding="0">
                    </table>
                </div>
                <div id="MyTable_tableColumn">
                    <table id="MyTable_tableColumnClone" border="1" cellspacing="0" cellpadding="0">
                    </table>
                </div>


                  
                <div id="MyTable_tableData">
                 
                    <table id="MyTable" class="myTable" border="1" cellspacing="0" cellpadding="0">
                        <thead>
                            <tr>
                            <td><div class="widthControl1">控制点</div></td>
                                <th><div class="widthControl1">
                                    仪表编号</div>
                                </th>
                                <th><div class="widthControl_gongyi">
                                    工艺参数</div>
                                </th>
                                <th><div class="widthControl_danwei">
                                    单位</div>
                                </th>
                                <th><div class="widthControl4">
                                    上限</div>
                                </th>
                                  <th><div class="widthControl4">
                                    下限</div>
                                </th>
                                <th><div class="widthControl3">超限(次数)</div></th>
                                 <th><div class="widthControl3">最大超限值</div></th>
                                 <th><div class="widthControl3">最小超限值</div></th>
                                  <th><div class="widthControl4">平均值</div></th>
                            </tr>
                        </thead>


                        <tbody>
                        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                                <ContentTemplate>
                                            <asp:Timer ID="Timer1" runat="server" Enabled="false" ontick="Timer1_Tick">
                                    </asp:Timer>
                          




                                    <asp:Repeater ID="repData" runat="server">
                                        <ItemTemplate>
                                        <tr>
                                        <td><a href="ChartShow.aspx?id=<%#Eval("ID")%>"><%#Eval("ControlPoint")%></a></td>
                                        <td><%#Eval("WatchNo")%> </td>
                                        <td><%#Eval("WatchPara")%> </td>
                                         <td><%#Eval("WatchUnit")%> </td>
                                         <td><%#Eval("WatchMax") %>&nbsp; </td>
                                         <td><%#Eval("WatchMin") %>&nbsp; </td>
                                         <td><%#Eval("OutCount")%>&nbsp; </td>
                                         <td><%#Eval("MAXOverValue") %>&nbsp; </td>
                                         <td><%#Eval("MinOverValue") %>&nbsp; </td>
                                         <td><%#Eval("AVGValue") %>&nbsp; </td>
                                        </tr>
                                        </ItemTemplate>
                                    </asp:Repeater>
                                    </ContentTemplate>  
                                <Triggers><asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" /></Triggers>
                            </asp:UpdatePanel>
                        </tbody>
                        
                    </table>
                    
                </div>
                 
            </div>
            
        </div>
        </div>


        
</asp:Content>

DataView.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;




namespace WatchManager
{
    public partial class DataView : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                txtEndDate.Text = DateTime.Now.ToString("yyyy-MM-dd");
                txtStartDate.Text = DateTime.Now.ToString("yyyy-MM-dd");
                Bind();
                //SetTimer();
            }
        }




        protected void Bind()
        {
            string strStartDate = txtStartDate.Text;
            string strEndDate = txtEndDate.Text;


            DBAccess.DataControl dbControl = new DBAccess.DataControl();
            repData.DataSource = dbControl.GetViewData(strStartDate, strEndDate);
            repData.DataBind();
        }


        protected void SetTimer()
        {
            string strStartDate = txtStartDate.Text;
            string strEndDate = txtEndDate.Text;
            if (strStartDate == DateTime.Now.ToString("yyyy-MM-dd") && strEndDate == DateTime.Now.ToString("yyyy-MM-dd"))
            {
                Timer1.Enabled = true;
                int hour = DateTime.Now.Hour;
                if ((hour + 1) % 2 == 0)
                {
                    Timer1.Interval = 5000;// (60 - DateTime.Now.Minute) * 60 * 1000 + (60 - DateTime.Now.Second) * 1000;
                }
                else
                {
                    Timer1.Interval = 5000;// 1 * 60 * 60 * 1000 + (60 - DateTime.Now.Minute) * 60 * 1000 + (60 - DateTime.Now.Second) * 1000;
                }
            }
        }




        protected void btnSearch_Click(object sender, EventArgs e)
        {
            Bind();
            SetTimer();
        }


        protected void Timer1_Tick(object sender, EventArgs e)
        {
            Bind();
            Page.ClientScript.RegisterStartupScript(this.GetType(),"","<script>javascript:FixTableShow(\"MyTable\", 0, 900, 400);alert('hi');</script>");
            Timer1.Interval = 5000; //2 * 60 * 60 * 1000;


        }
    }
}


DataManage.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
    CodeBehind="DataManage.aspx.cs" Inherits="WatchManager.DataManage" %>




<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    
    <script src="Scripts/TableFix.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">
        $(document).ready(function () {
            FixTable("MyTable", 4, 900, 400);
        });
        function SaveData(strID, strTime, num) {
            var strdate = $("#<%=txtDate.ClientID %>").val();
            //var num = $("#" + strID).val();
            //alert(strID + ":" + num + ":" + strdate + ":" + strTime);
            var url = "SaveServ.ashx?id=" + strID + "&num=" + num + "&date=" + strdate + "&time=" + strTime;
            $.ajax(
            {
                url: url,
                async: false,
                type: "POST",
                cache: false,
                success: function (data) {
                    //alert(data);
                }
            } );
        }
        function CheckValue(textbox) {
            var patrn1 = /^[-|+]?(0|[1-9][0-9]*)(\.\d{1,2})?$/;
            var re = new RegExp(patrn1);
            if (!re.test(textbox.value)) {
                textbox.value = "";
            }
        }
    </script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <div>
        <div class="BannerText">
            数据录入
        </div>
        <div class="TopControlList">
            日期:<asp:TextBox ID="txtDate" runat="server" οnfοcus="WdatePicker()" style="width:75px"></asp:TextBox>
            <asp:Button ID="btnSearch" runat="server" Text="查询" 
                οnclick="btnSearch_Click" />
        </div>
        <div class="MainContent">
            <div id="MyTable_tableLayout">
                <div id="MyTable_tableFix">
                    <table id="MyTable_tableFixClone" border="1" cellspacing="0" cellpadding="0">
                    </table>
                </div>
                <div id="MyTable_tableHead">
                    <table id="MyTable_tableHeadClone" border="1" cellspacing="0" cellpadding="0">
                    </table>
                </div>
                <div id="MyTable_tableColumn">
                    <table id="MyTable_tableColumnClone" border="1" cellspacing="0" cellpadding="0">
                    </table>
                </div>
                <div id="MyTable_tableData">
                    <table id="MyTable" class="myTable" border="1" cellspacing="0" cellpadding="0">
                        <thead>
                            <tr>
                                <td><div class="widthControl1">
                                    仪表编号
                                    </div>
                                </td>
                                <td >
                                <div class="widthControl_gongyi">
                                    工艺参数
                                    </div>
                                </td>
                                <td>
                                <div class="widthControl_danwei">
                                    单位
                                    </div>
                                </td>
                                <td>
                                <div class="widthControl1">
                                    控制值
                                    </div>
                                </td>
                                <td>
                                <div class="widthControl2">
                                    00:00</div>
                                </td>
                                <td><div class="widthControl2">
                                    02:00</div>
                                </td>
                                <td><div class="widthControl2">
                                    04:00</div>
                                </td>
                                <td><div class="widthControl2">
                                    06:00</div>
                                </td>
                                <td><div class="widthControl2">
                                    08:00</div>
                                </td>
                                <td><div class="widthControl2">
                                    10:00</div>
                                </td>
                                <td><div class="widthControl2">
                                    12:00</div>
                                </td>
                                <td><div class="widthControl2">
                                    14:00</div>
                                </td>
                                <td><div class="widthControl2">
                                    16:00</div>
                                </td>
                                <td><div class="widthControl2">
                                    18:00</div>
                                </td>
                                <td><div class="widthControl2">
                                    20:00</div>
                                </td>
                                <td><div class="widthControl2">
                                    22:00</div>
                                </td>
                            </tr>
                        </thead>
                        <tbody>
                            <asp:Repeater ID="repData" runat="server" 
                                onitemdatabound="repData_ItemDataBound">
                                <ItemTemplate>
                                    <tr>
                                        <td>
                                            <span style="display: none" id="equip<%#Eval("ID") %>">
                                                <%#Eval("ID") %></span>
                                            <%#Eval("WatchNo")%>
                                        </td>
                                        <td>
                                            <%#Eval("WatchPara")%>
                                        </td>
                                        <td>
                                            <%#Eval("WatchUnit")%>
                                        </td>
                                        <td>
                                            <%#Eval("WatchMin")%>~<%#Eval("WatchMax")%></td>
                                        <asp:Literal ID="litlTabHelper" runat="server"></asp:Literal>
                                       <%-- <td>
                                            <input id="equip<%#Eval("ID") %>02" οnblur="SaveData('<%#Eval("ID") %>','02',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour02") %>" />
                                        </td>
                                        <td>
                                            <input id="equip<%#Eval("ID") %>04" οnblur="SaveData('<%#Eval("ID") %>','04',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour04") %>" />
                                        </td>
                                        <td>
                                            <input id="equip<%#Eval("ID") %>06" οnblur="SaveData('<%#Eval("ID") %>','06',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour06") %>" />
                                        </td>
                                        <td>
                                            <input id="equip<%#Eval("ID") %>08" οnblur="SaveData('<%#Eval("ID") %>','08',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour08") %>" />
                                        </td>
                                        <td>
                                            <input id="equip<%#Eval("ID") %>10" οnblur="SaveData('<%#Eval("ID") %>','10',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour10") %>" />
                                        </td>
                                        <td>
                                            <input id="equip<%#Eval("ID") %>12" οnblur="SaveData('<%#Eval("ID") %>','12',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour12") %>" />
                                        </td>
                                        <td>
                                            <input id="equip<%#Eval("ID") %>14" οnblur="SaveData('<%#Eval("ID") %>','14',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour14") %>" />
                                        </td>
                                        <td>
                                            <input id="equip<%#Eval("ID") %>16" οnblur="SaveData('<%#Eval("ID") %>','16',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour16") %>" />
                                        </td>
                                        <td>
                                            <input id="equip<%#Eval("ID") %>18" οnblur="SaveData('<%#Eval("ID") %>','18',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour18") %>" />
                                        </td>
                                        <td>
                                            <input id="equip<%#Eval("ID") %>20" οnblur="SaveData('<%#Eval("ID") %>','20',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour20") %>" />
                                        </td>
                                        <td>
                                            <input id="equip<%#Eval("ID") %>22" οnblur="SaveData('<%#Eval("ID") %>','22',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour22") %>" />
                                        </td>
                                        <td>
                                            <input id="equip<%#Eval("ID") %>24" οnblur="SaveData('<%#Eval("ID") %>','24',this.value)"
                                                type="text" class="txtData" value="<%#Eval("Hour24") %>" />
                                        </td>--%>
                                        <%--  <td>02:00</td><td>04:00</td><td>06:00</td><td>08:00</td><td>10:00</td><td>12:00</td>
                        <td>14:00</td><td>16:00</td><td>18:00</td><td>20:00</td><td>22:00</td><td>24:00</td>--%>
                                    </tr>
                                </ItemTemplate>
                            </asp:Repeater>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</asp:Content>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用来在桌面和web应用程序的数据源中指定商业逻辑。True DataControl是一个ActiveX控件,它可以作为一个OLE DB/ADO数据源,用来构建应用程序。但它不仅仅是一个数据源,它是一个具有逻辑的数据源——代替了标准的数据源,如MS ADO数据控件,可以让开发人员在数据源中指定商业逻辑,将它们作为一组商业规则,从而使应用程序更强大、更具伸缩性、更便于管理。 作为ComponentOne Sutdio和ComponentOne Studio Enterprise的一部分,True DBGrid Pro 8.0是用于目前企业数据库前端应用程序开发的最强大的Grid控件。 正如你希望的那样(Grid控件应该具有人们可以设想到的所有的功能),我们已经给该产品添加了更加丰富的功能,以满足用户的各种需求:支持XP Themes、一个新的显示弹出/缩进图标的控件、新的通过程序显示/隐藏子Grid的方法、新的对大小写敏感的查询功能、一个新的固定列宽的方法等。 同时我们也没有忽略以前版本中用户最喜欢的功能,包括:Crosstab、OLAP(决策支持)、Master-Detail关系的增强显示,而且分等级的grid是完全可编辑的、Excel样式的单元格选择、附加的显示模式、更好的键盘导航、扩展的样式、更多的打印和打印预览选项、一个可以很容易地编码过滤和格式化行为的Filter Bar界面、与True DataControl的本地集成等。点击左侧工具条的Features链接查看所有的新的功能! 新的过滤条数据录入行通过一个易于使用的界面可以让你实现定制的最终用户操作,比如渐进式搜索(incremental search)和记录集过滤。 True DBGrid Pro 8.0 可用于Visual Basic 5.0和6.0、以及Visual Studio 5.0和6.0 环境。 用True DBGrid Pro 8.0 开发的应用程序在发行时是免版税的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值