protected void btnAddKpi_Click(object sender, EventArgs e)
        {
            int index = KpiDal.KpiIDCounts();

            string sID = PageControl.GetGuid();

            KpiEntity ote = new KpiEntity();
            ote.KpiID = sID;
            ote.KpiCode = "InputCode";
            ote.KpiName = "Input Name";
            ote.KpiDesc = "";
            ote.KpiIsValid = 1;
            ote.KpiNote = "";

            ote.KpiCreateTime = DateTime.Now.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");
            ote.KpiModifyTime = ote.KpiCreateTime;

            if (KpiDal.Insert(ote))
            {
                //MessageBox.popupClientMessage(this.Page, "添加成功!", "call();");
            }
            else
            {
                MessageBox.popupClientMessage(this.Page, "添加错误!", "call();");

            }

            gvKpi.EditIndex = index;

            BindKpi();
        }
        protected void gvKpi_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            HtmlInputHidden key = (HtmlInputHidden)gvKpi.Rows[e.RowIndex].Cells[0].FindControl("Kpiid");

            string sID = key.Value;
            string sCode = ((TextBox)(gvKpi.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();
            string sName = ((TextBox)(gvKpi.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
            string sDesc = ((TextBox)(gvKpi.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
            string sNote = ((TextBox)(gvKpi.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim();

            string msg = "";
            if (sName == "" || sCode =="")
            {
                msg += "代码或名称不能为空!\r\n";
            }

            if(!Regex.IsMatch(sCode, "^[A-Za-z0-9]+$"))
            {
                msg += "代码只能为字母和数字组成!\r\n";
            }

            if (msg != "")
            {
                MessageBox.popupClientMessage(this.Page, msg);
                return;
            }

            //代码是否重复
            if (KpiDal.KpiCodeExists(sCode, sID))
            {
                MessageBox.popupClientMessage(this.Page, "已存在相同的代码!");
                return;
            }

            //更新
            KpiEntity ote = new KpiEntity();
            ote.KpiID = sID;
            ote.KpiCode = sCode;
            ote.KpiName = sName;
            ote.KpiDesc = sDesc;
            ote.KpiNote = sNote;
            ote.KpiModifyTime = DateTime.Now.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");

            if (KpiDal.Update(ote))
            {
                MessageBox.popupClientMessage(this.Page, "编辑成功!", "call();");

            }
            else
            {
                MessageBox.popupClientMessage(this.Page, "编辑错误!", "call();");

            }

            gvKpi.EditIndex = -1;

            BindKpi();
        }