用gridview吧.每次根据所填的数字.增加行数.可以直接输入.更新数据库.

解决方案 »

  1.   

    //合法性检测
    for(int i=0;i<iCount;i++)
    {
    this.dataGridView1.Rows.Add();
    }
      

  2.   

    去孟宪会网站看看,用的是gridview
      

  3.   

    能详细一点吗,用GRIDVIEW如何实现啊,我是要插入不是显示啊
      

  4.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="BusTechIndex.aspx.cs" Inherits="Technology_BusTechIndex" %><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>车辆技术指标添加</title>
        <link href="../App_Themes/blue/style.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <form id="form1" runat="server">
        <div class="officedoc">
            <b>车辆技术指标添加</b><br />
            <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
            </asp:ScriptManager>
            &nbsp;
            <br />
            <table border="0" cellpadding="0" cellspacing="0" class="officedoc">
                <tr>
                    <td style="width: 76px; height: 40px" valign="top">
                指标类型:</td>
                    <td style="height: 40px" valign="top">
                <asp:DropDownList ID="ddlIndexSort" runat="server" OnSelectedIndexChanged="ddlIndexSort_SelectedIndexChanged" AutoPostBack="True">
                            </asp:DropDownList></td>
                </tr>
                <tr>
                    <td style="width: 76px" valign="top">
                                            车型:</td>
                    <td valign="top" >
                        <asp:UpdatePanel ID="upBusType" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
                            <ContentTemplate>
                                <asp:DropDownList ID="ddlBusKind" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlBusKind_SelectedIndexChanged">
                                </asp:DropDownList>&nbsp;&nbsp;<asp:DropDownList ID="ddlBusType" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlBusType_SelectedIndexChanged">
                                </asp:DropDownList>
                                <br />
                                <asp:BulletedList ID="blBusType" runat="server" CssClass="officedoc" BackColor="#FFFFC0" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px">
                                </asp:BulletedList>
                                </ContentTemplate>
                        </asp:UpdatePanel>
                    </td>
                </tr>
            </table>
            <br />
                <asp:UpdatePanel runat="server" ID="upMain" ChildrenAsTriggers="false" UpdateMode="Conditional">
                    <ContentTemplate>
                        <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="1">
                            <asp:View ID="vOther" runat="server">
                                <table border="0" cellspacing="2" class="ReformList">
                                    <tr>
                                        <td align="right" class="officedoc" style="width: 66px">
                                            时间:</td>
                                        <td class="officedoc" style="width: 411px">
                                            <asp:DropDownList ID="ddlBeginYear" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlBeginYear_SelectedIndexChanged">
                                            </asp:DropDownList>年  
                                            <asp:DropDownList ID="ddlBeginMonth" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlBeginYear_SelectedIndexChanged">
                                            </asp:DropDownList>月&nbsp;&nbsp;至 &nbsp;&nbsp;
                                            <asp:DropDownList ID="ddlBeginYear2" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlBeginYear_SelectedIndexChanged">
                                            </asp:DropDownList>年  
                                            <asp:DropDownList ID="ddlBeginMonth2" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlBeginYear_SelectedIndexChanged">
                                            </asp:DropDownList>月                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="right" class="officedoc" style="width: 66px">
                                            指标值:</td>
                                        <td class="officedoc" style="width: 411px">
                                            <asp:TextBox ID="txtIndexValue" runat="server" Width="82px"></asp:TextBox>&nbsp;
                                            <asp:Label ID="lbUnit" runat="server"></asp:Label>&nbsp;&nbsp;<asp:LinkButton ID="lbDelIndex"
                                                runat="server" CausesValidation="false" OnClick="lbDelIndex_Click">删除指标</asp:LinkButton>
                                            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtIndexValue"
                                                Display="Dynamic" ErrorMessage="请输入指标值" Enabled="true"></asp:RequiredFieldValidator>
                                            <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtIndexValue"
                                                Display="Dynamic" ErrorMessage="指标值必须为数字" MaximumValue="65535" MinimumValue="0"
                                                Type="Double"></asp:RangeValidator></td>
                                    </tr>
                                </table>
                            </asp:View>
                            <asp:View ID="vPetrol" runat="server"><asp:DropDownList ID="ddlStartYear" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlStartYear_SelectedIndexChanged">
                            </asp:DropDownList>
                                年                            <asp:DropDownList ID="ddlStartMonth" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlStartYear_SelectedIndexChanged">
                                </asp:DropDownList>
                                月 到                            <asp:DropDownList ID="ddlEndYear" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlStartYear_SelectedIndexChanged">
                                </asp:DropDownList>
                                年                            <asp:DropDownList ID="ddlEndMonth" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlStartYear_SelectedIndexChanged">
                                </asp:DropDownList>
                                月<br />
                                <br />
                                <asp:UpdatePanel ID="upValue" runat="server">
                                    <ContentTemplate>
                                        <asp:Panel ID="pnValue" runat="server" Height="50px">
                                        </asp:Panel>
                                    </ContentTemplate>
                                </asp:UpdatePanel>
                            </asp:View>
                        </asp:MultiView><br />
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="ddlIndexSort" />
                    </Triggers>
                </asp:UpdatePanel>
                
                <br />
                <asp:Button ID="btnAdd" runat="server" CssClass="Button" Height="24px" OnClick="btnAdd_Click"
                    Text="添加" Width="55px" />
                &nbsp; &nbsp;&nbsp;
                <asp:Button ID="btnBack" runat="server" CausesValidation="False" CssClass="Button"
                    Height="24px" Text="返回" Width="55px" PostBackUrl="~/Technology/BusTechIndexList.aspx" />&nbsp;
            &nbsp;&nbsp; &nbsp;
            &nbsp;&nbsp;
        </div>
        </form>
    </body>
    </html>
      

  5.   

    /***************************************************
     * 模块名称:       车辆技术指标添加 * 创建人:         叶明
     * 创建日期:       2007-03-20
     * 涉及数据表:     BusType,TechIndex,TechIndexSort
     * 本模块依赖于:   Reform.TedabusMIS.BLL.SheetDateComputer模块
     * 最后修改人:     叶明
     * 最后修改日期:   2007-05-08
     * 修改记录:
     * 叶明 @ 2007-03-21
     * 更改日期处理方式,原处理方式为beginDate和 * EndDate由客户分别选定
     * 叶明 @ 2007-04-17
     * 按照客户要求,油耗指标改为按时间段一次性填写 * 叶明 @ 2007-14-18
     * 增加同时添加一类车(例如帕萨特2.0)的技术指标的功能
     * 叶明 @ 2007-05-08
     * 添加技术指标时,如已存在当前车型的当前指标,则显示出来
    ***************************************************/
    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using Microsoft.Practices.EnterpriseLibrary.Data;  //引用微软企业库using Reform.TedabusMIS.BLL;public partial class Technology_BusTechIndex : System.Web.UI.Page
    {
        Database db = DatabaseFactory.CreateDatabase("TedabusMIS");    protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                BindBusSortList(); //绑定车辆类型下拉框            BindBusTypeList(ddlBusKind.Items[0].Value);  //以默认车辆类型绑定车型下拉框
                BindBusTypeBulletList(ddlBusType.Items[0].Value);   //绑定车辆类型列表
                BindDateListValue(); //绑定日期下拉框            BindIndexSort();  //绑定指标种类
            }
            if (ddlIndexSort.SelectedItem.Text == "规定燃油")
            {
                AddTextBoxs();  //创建添加燃油指标的文本框
            }
            //GetCurrentIndexValue();
        }    #region 插入新的技术指标到数据库    /// <summary>
        /// 插入新的技术指标    /// </summary>
        /// <returns>返回1,表示插入成功;返回0,表示插入失败</returns>
        private int InsertTechIndex(string busTypeID)
        {
            SheetDateComputer sdc = new SheetDateComputer(ddlBeginYear.SelectedItem.Text, ddlBeginMonth.SelectedItem.Text);
            SheetDateComputer sdc2 = new SheetDateComputer(ddlBeginYear2.SelectedItem.Text, ddlBeginMonth2.SelectedItem.Text);
            int result = 0;
            string sql = "SELECT * FROM TechIndex WHERE IndexNo = " + ddlIndexSort.SelectedValue + " AND BusTypeID = " + busTypeID
                        + " AND (NOT (IndexBeginDate <= '" + sdc.BeginDateString + "' AND IndexEndDate <= '" + sdc.BeginDateString + "')) AND Valid = 1 "
                        + " AND (NOT (IndexBeginDate >= '" + sdc2.EndDateString + "' AND IndexEndDate >= '" + sdc2.EndDateString + "'))";
            SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["TedabusMIS"].ToString());
            SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
            SqlCommandBuilder scb = new SqlCommandBuilder(sda);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            if (ds.Tables[0].Rows.Count > 0)
            {
                //ShowMessageBox("已经存在此指标");
                return 0;
            }
            DataRow row = ds.Tables[0].NewRow();
            //指标类型
            row["IndexNo"] = int.Parse(ddlIndexSort.SelectedValue);
            //车辆类型ID
            row["BusTypeID"] = int.Parse(busTypeID);
            //开始日期        
            row["IndexBeginDate"] = sdc.BeginDate;
            //结束日期
            row["IndexEndDate"] = sdc2.EndDate;
            //指标值        row["IndexValue"] = double.Parse(txtIndexValue.Text);
            ds.Tables[0].Rows.Add(row);
            result = sda.Update(ds);
            return result;
        }
        #endregion    #region 绑定车辆类型下拉框    /// <summary>
        /// 绑定车辆类型下拉框    /// <res>
        /// 涉及数据表:BusType
        /// </res>
        /// </summary>
        private void BindBusSortList()
        {
            string sql = "SELECT DISTINCT brandkind FROM BusTypeAlias";
            IDataReader reader = db.ExecuteReader(CommandType.Text,sql);
            ddlBusKind.DataSource = reader;
            ddlBusKind.DataTextField = "brandkind";
            ddlBusKind.DataValueField = "brandkind";
            ddlBusKind.DataBind();
        }
        #endregion    #region 绑定车型
        /// <summary>
        /// 根据车辆类型绑定车型下拉框    /// </summary>
        /// <param name="busSort">车辆类型名称</param>
        private void BindBusTypeList(String busSort)
        {
            string sql = "select * from BusTypeAlias where brandkind = '" + busSort + "'";
            IDataReader reader = db.ExecuteReader(CommandType.Text, sql);
            ddlBusType.DataSource = reader;
            ddlBusType.DataTextField = "AliasName";
            ddlBusType.DataValueField = "id";
            ddlBusType.DataBind();
        }
        #endregion    #region 绑定日期下拉框值    private void BindDateListValue()
        {
            //对于年,绑定从去年到十年后的值        for (int i = DateTime.Now.Year - 1; i < DateTime.Now.Year + 11; i++)
            {
                ddlBeginYear.Items.Add(i.ToString());
                ddlBeginYear2.Items.Add(i.ToString());
                ddlStartYear.Items.Add(i.ToString());
                ddlEndYear.Items.Add(i.ToString());
            }
            
            //对于月,绑定1到12
            for (int i = 1; i <= 12; i++)
            {
                ddlBeginMonth.Items.Add(i.ToString());
                ddlBeginMonth2.Items.Add(i.ToString());
                ddlStartMonth.Items.Add(i.ToString());
                ddlEndMonth.Items.Add(i.ToString());
            }        //设置默认值        ddlBeginYear.SelectedIndex = ddlBeginYear.Items.IndexOf(ddlBeginYear.Items.FindByValue(DateTime.Now.Year.ToString()));
            ddlBeginMonth.SelectedIndex = ddlBeginMonth.Items.IndexOf(ddlBeginMonth.Items.FindByValue(DateTime.Now.Month.ToString()));
            ddlBeginYear2.SelectedIndex = ddlBeginYear.Items.IndexOf(ddlBeginYear.Items.FindByValue(DateTime.Now.AddYears(1).Year.ToString()));
            ddlBeginMonth2.SelectedIndex = ddlBeginMonth.Items.IndexOf(ddlBeginMonth.Items.FindByValue(DateTime.Now.AddYears(1).Month.ToString()));
            ddlStartYear.SelectedIndex = ddlBeginYear.Items.IndexOf(ddlBeginYear.Items.FindByValue(DateTime.Now.Year.ToString()));
            ddlStartMonth.SelectedIndex = ddlBeginMonth.Items.IndexOf(ddlBeginMonth.Items.FindByValue(DateTime.Now.Month.ToString()));
            ddlEndYear.SelectedIndex = ddlBeginYear.Items.IndexOf(ddlBeginYear.Items.FindByValue(DateTime.Now.AddYears(1).Year.ToString()));
            ddlEndMonth.SelectedIndex = ddlBeginMonth.Items.IndexOf(ddlBeginMonth.Items.FindByValue(DateTime.Now.AddYears(1).Month.ToString()));
        }
        #endregion    #region 绑定指标种类
        private void BindIndexSort()
        {
            string sql = "SELECT * FROM TechIndexSort WHERE valid = 1";
            IDataReader reader = db.ExecuteReader(CommandType.Text, sql);
            while (reader.Read())
            {
                ListItem item = new ListItem(reader["IndexName"].ToString(), reader["IndexNo"].ToString());
                item.Attributes.Add("IndexUnit", reader["IndexUnit"].ToString());
                ddlIndexSort.Items.Add(item);
            }
        }
        #endregion    protected void ddlBusKind_SelectedIndexChanged(object sender, EventArgs e)
        {
            BindBusTypeList(ddlBusKind.SelectedValue);
            BindBusTypeBulletList(ddlBusType.Items[0].Value);   //绑定车辆类型列表
            GetCurrentIndexValue();
        }
      

  6.   

    protected void ddlIndexSort_SelectedIndexChanged(object sender, EventArgs e)
        {
            string sql = "SELECT IndexUnit FROM TechIndexSort WHERE IndexNo = " + ddlIndexSort.SelectedValue;
            string strUnit = db.ExecuteScalar(CommandType.Text, sql).ToString();
            lbUnit.Text = strUnit;
            
            
            //根据用户选择的指标类型设定指标添加界面        if (ddlIndexSort.SelectedItem.Text == "规定燃油")
            {
                MultiView1.ActiveViewIndex = 1;
            }
            else
            {
                MultiView1.ActiveViewIndex = 0;
            }        GetCurrentIndexValue();
        }    protected void btnAdd_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                //获取车辆别名对应的车型            string sql = "SELECT BusTypeID FROM BusTypeMapping WHERE AliasID = " + ddlBusType.SelectedValue;
                DataSet ds = db.ExecuteDataSet(CommandType.Text, sql);
                int result = 0;
                
                if (ddlIndexSort.SelectedItem.Text == "规定燃油")  //燃油指标是一次性填写多条记录            {
                    foreach (DataRow row in ds.Tables[0].Rows)
                    {
                        result += AddPetrolIndex(row["BusTypeID"].ToString());
                    }
                    if (result == 0)
                    {
                        ShowMessageBox("添加燃油指标失败,您录入的指标可能与现存指标存在冲突。");
                    }
                    else
                    {
                        ShowMessageBox("成功添加" + result.ToString() + "条燃油指标");
                    }
                }
                else  //其他指标是一次添加一条记录            {
                    foreach (DataRow row in ds.Tables[0].Rows)
                    {
                        result += InsertTechIndex(row["BusTypeID"].ToString());
                    }
                    if (result == 0)
                    {
                        ShowMessageBox("添加" + ddlIndexSort.SelectedItem.Text + "指标失败,您录入的指标可能与现存指标存在冲突。");
                    }
                    else
                    {
                        ShowMessageBox("成功添加" + result.ToString() + "条" + ddlIndexSort.SelectedItem.Text + "指标");
                    }
                }
            }
        }    #region 添加燃油指标
        /// <summary>
        /// 添加燃油指标
        /// </summary>
        /// <returns>成功添加的记录数</returns>
        private int AddPetrolIndex(string busTypeID)
        {
            int result = 0;
            SheetDateComputer sdc1 = new SheetDateComputer(ddlStartYear.SelectedValue,ddlStartMonth.SelectedValue);
            SheetDateComputer sdc2 = new SheetDateComputer(ddlEndYear.SelectedValue,ddlEndMonth.SelectedValue);
            string sql = "SELECT * FROM TechIndex WHERE IndexNo = " + ddlIndexSort.SelectedValue + " AND BusTypeID = " + busTypeID
                        + "AND IndexBeginDate = '" + sdc1.BeginDateString + "' AND IndexEndDate = '" + sdc2.EndDateString + "' AND Valid = 1";
            SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["TedabusMIS"].ToString());
            SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
            SqlCommandBuilder scb = new SqlCommandBuilder(sda);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            if (ds.Tables[0].Rows.Count > 0)
            {
                //ShowMessageBox("您录入的燃油指标和当前指标存在冲突,请核实后重新保存");
                return 0;
            }               foreach(object obj in pnValue.Controls)
            {
                if (obj is TextBox)
                {  
                    TextBox txtValue = obj as TextBox;
                    if (txtValue.Text != string.Empty)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        //指标类型
                        row["IndexNo"] = int.Parse(ddlIndexSort.SelectedValue);
                        //车辆类型ID
                        row["BusTypeID"] = int.Parse(busTypeID);
                        //日期
                        string year = txtValue.ID.Substring(3, 4);
                        string month = txtValue.ID.Substring(7);
                        SheetDateComputer sdc = new SheetDateComputer(year, month);
                        //开始日期                    row["IndexBeginDate"] = sdc.BeginDate;
                        //结束日期
                        row["IndexEndDate"] = sdc.EndDate;
                        //指标值
                        row["IndexValue"] = double.Parse(txtValue.Text);
                        ds.Tables[0].Rows.Add(row);
                    }
                }
            }        result = sda.Update(ds);
            return result;
        }
        #endregion    #region 按照客户选择的时间段,在Panel中创建文本框
        /// <summary>
        /// 按照客户选择的时间段,在Panel中创建文本框
        /// </summary>
        private void AddTextBoxs()
        {
            DateTime dt1 = DateTime.Parse(ddlStartYear.SelectedValue + "-" + ddlStartMonth.SelectedValue + "-1");
            DateTime dt2 = DateTime.Parse(ddlEndYear.SelectedValue + "-" + ddlEndMonth.SelectedValue + "-1");
            pnValue.Controls.Clear();  //添加前先清空Panel中的控件
            if (dt2 >= dt1)  //如果结束日期比开始日期还小,那就无语了        {
                for (DateTime dt = dt1; dt <= dt2; dt = dt.AddMonths(1))
                {
                    Label lb = new Label();  //放个标示时间的Label,免得客户填错                lb.ID = "lb" + dt.Year.ToString() + dt.Month.ToString();
                    lb.Text = dt.Year.ToString() + "年" + dt.Month + "月:";
                    pnValue.Controls.Add(lb);
                    TextBox txt = new TextBox();  //接下来是文本框,名字使用txt开头,后面跟上时间
                    txt.Width = 50;
                    txt.ID = "txt" + dt.Year.ToString() + dt.Month.ToString();
                    pnValue.Controls.Add(txt);
                    Literal lt = new Literal();  //为了界面整齐,我每行只显示一条记录                lt.Text = "&nbsp;&nbsp;百公里升&nbsp;&nbsp;";
                    pnValue.Controls.Add(lt);
                    LinkButton lbDel = new LinkButton(); //删除按钮
                    lbDel.Text = "删除指标";
                    lbDel.ToolTip = dt.Year.ToString() + dt.Month.ToString();
                    lbDel.Click += new EventHandler(lbDel_Click);
                    pnValue.Controls.Add(lbDel);
                    Literal lbNewLine = new Literal();
                    lbNewLine.Text = "</br>";
                    pnValue.Controls.Add(lbNewLine);
                }
            }        GetCurrentIndexValue();
        }
      

  7.   

    chieftech(【标题党总书记】) 
    请再帖一下BusTechIndex.aspx.cs的代码吧,谢谢!
      

  8.   

    void lbDel_Click(object sender, EventArgs e)
        {
            LinkButton lb = sender as LinkButton;
            SheetDateComputer sdc = new SheetDateComputer(lb.ToolTip.Substring(0,4),lb.ToolTip.Substring(4));
            string sqlDel = "UPDATE TechIndex SET Valid = 0 WHERE IndexNo = " + ddlIndexSort.SelectedValue +
                                " AND BusTypeID IN (SELECT BusTypeID FROM BusTypeMapping WHERE AliasID = " + ddlBusType.SelectedValue +
                                ") AND IndexBeginDate = '" + sdc.BeginDateString + "' AND IndexEndDate = '" + sdc.EndDateString + "' AND Valid = 1";
            if (db.ExecuteNonQuery(CommandType.Text, sqlDel) > 0)
            {
                ShowMessageBox("该技术指标已删除,您现在可以重新添加了。");
            }
            TextBox tb = pnValue.FindControl("txt" + lb.ToolTip) as TextBox;
            tb.Text = string.Empty;
            upMain.Update();        
        }
        #endregion    #region 在客户端弹出对话框    /// <summary>
        /// 在客户端显示消息对话框    /// </summary>
        /// <param name="message">对话框中的文字</param>
        private void ShowMessageBox(string message)
        {
            Page.RegisterStartupScript("msg", "<script language='JavaScript'>alert('" + message + "');</Script>");
        }
        #endregion    protected void ddlStartYear_SelectedIndexChanged(object sender, EventArgs e)
        {
            AddTextBoxs();
            GetCurrentIndexValue();
        }
        protected void ddlBusType_SelectedIndexChanged(object sender, EventArgs e)
        {
            //绑定详细车型
            BindBusTypeBulletList(ddlBusType.SelectedValue);
            GetCurrentIndexValue();
        }    #region 根据用户选择的时间、车型和指标类型,从数据库中检索
        /// <summary>
        /// 根据用户选择的时间、车型和指标类型,从数据库中检索
        /// 如果存在对应记录,则显示出来
        /// </summary>
        private void GetCurrentIndexValue()
        {
            if (ddlIndexSort.SelectedItem.Text == "规定燃油")  //燃油指标是一次添加多个月
            {
                DateTime dt1 = DateTime.Parse(ddlStartYear.SelectedValue + "-" + ddlStartMonth.SelectedValue + "-1");
                DateTime dt2 = DateTime.Parse(ddlEndYear.SelectedValue + "-" + ddlEndMonth.SelectedValue + "-1");
                if (dt2 >= dt1)  //如果结束日期比开始日期还小,那就无语了
                {
                    for (DateTime dt = dt1; dt <= dt2; dt = dt.AddMonths(1))
                    {
                        SheetDateComputer sdc = new SheetDateComputer(dt.Year.ToString(), dt.Month.ToString());
                        string sqlPetrol = "SELECT IndexValue FROM TechIndex WHERE IndexNo = " + ddlIndexSort.SelectedValue +
                                " AND BusTypeID IN (SELECT BusTypeID FROM BusTypeMapping WHERE AliasID = " + ddlBusType.SelectedValue +
                                ") AND IndexBeginDate = '" + sdc.BeginDateString + "' AND IndexEndDate = '" + sdc.EndDateString + "' AND Valid = 1";
                        object objPetrol = db.ExecuteScalar(CommandType.Text, sqlPetrol);
                        TextBox tb = pnValue.FindControl("txt" + dt.Year.ToString() + dt.Month.ToString()) as TextBox;
                        if (objPetrol != null)
                        {
                            tb.Text = objPetrol.ToString();
                        }
                        else
                        {
                            tb.Text = string.Empty;
                        }
                    }
                }        }
            else  //其他指标是一次添加一个月
            {
                SheetDateComputer sdcIndexBegin = new SheetDateComputer(ddlBeginYear.SelectedItem.Text, ddlBeginMonth.SelectedItem.Text);
                SheetDateComputer sdcIndexEnd = new SheetDateComputer(ddlBeginYear2.SelectedItem.Text, ddlBeginMonth2.SelectedItem.Text);
                string sqlIndex = "SELECT IndexValue FROM TechIndex WHERE IndexNo = " + ddlIndexSort.SelectedValue +
                                " AND BusTypeID IN (SELECT BusTypeID FROM BusTypeMapping WHERE AliasID = " + ddlBusType.SelectedValue +
                                ") AND IndexBeginDate = '" + sdcIndexBegin.BeginDateString + "' AND IndexEndDate = '" + sdcIndexEnd.EndDateString + "' AND Valid = 1";
                object objIndex = db.ExecuteScalar(CommandType.Text, sqlIndex);
                if (objIndex != null)
                {
                    txtIndexValue.Text = objIndex.ToString();
                }
                else
                {
                    txtIndexValue.Text = string.Empty;
                }
            }
            upMain.Update();
        }
        #endregion    private void BindBusTypeBulletList(string aliasID)
        {
            string sql = "SELECT BrandType FROM BusTypeMapping WHERE AliasID = " + aliasID;
            IDataReader dr = db.ExecuteReader(CommandType.Text, sql);
            blBusType.DataSource = dr;
            blBusType.DataTextField = "BrandType";
            blBusType.DataBind();
        }
        protected void ddlBeginYear_SelectedIndexChanged(object sender, EventArgs e)
        {
            GetCurrentIndexValue();
        }    protected void lbDelIndex_Click(object sender, EventArgs e)
        {
            SheetDateComputer sdcIndexBegin = new SheetDateComputer(ddlBeginYear.SelectedItem.Text, ddlBeginMonth.SelectedItem.Text);
            SheetDateComputer sdcIndexEnd = new SheetDateComputer(ddlBeginYear2.SelectedItem.Text, ddlBeginMonth2.SelectedItem.Text);
            string sqlDel = "UPDATE TechIndex SET Valid = 0 WHERE IndexNo = " + ddlIndexSort.SelectedValue +
                            " AND BusTypeID IN (SELECT BusTypeID FROM BusTypeMapping WHERE AliasID = " + ddlBusType.SelectedValue +
                            ") AND IndexBeginDate = '" + sdcIndexBegin.BeginDateString + "' AND IndexEndDate = '" + sdcIndexEnd.EndDateString + "' AND Valid = 1";
            if (db.ExecuteNonQuery(CommandType.Text, sqlDel) > 0)
            {
                ShowMessageBox("该技术指标已删除,您现在可以重新添加了。");
            }
            txtIndexValue.Text = string.Empty;
            upMain.Update();
        }
    }
      

  9.   

    没有了!
    大体的思路就是在页面上动态创建输入控件,为避免页面全部刷新,我使用了Ajax
    你参考一下
    happy coding!
      

  10.   

    编译器错误信息: CS0234: 命名空间“Microsoft”中不存在类型或命名空间名称“Practices”(是缺少程序集引用吗?)源错误: 行 32: using System.Web.UI.WebControls.WebParts;
    行 33: using System.Web.UI.HtmlControls;
    行 34: using Microsoft.Practices.EnterpriseLibrary.Data;  //引用微软企业库
    行 35: 
    行 36: using Reform.TedabusMIS.BLL;
     
    如何引用微软企业库?