using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using SuperMap.RealEstate.Web.UI.WebControls; using SuperMap.RealEstate.CoreFrameWork; using SuperMap.RealEstate.ServiceModel; using SuperMap.RealEstate.Utility; using SuperMap.RealEstate.Web.UI; using SuperMap.RealEstate.Web.Utility; using MSB = SuperMap.RealEstate.MainTenance.Storage.Business; using System.Data; namespace SuperMap.RealEstate.MainTenance.Storage.Modules.Proinst { public partial class Equipment : SuperMap.RealEstate.Web.UI.PageValid { #region 加载事件 protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; //初始化并加载列表 GridViewEx1.SelectingWithInit(ObjectDataSource1, GridPageEx1); //设置回车焦点按钮 SetControlClientAction(ButtonSearch); } #endregion #region 搜索事件 protected void ButtonSearch_CallBackClick(object sender, ClientSetEventArgs e) { GridViewEx1.Selecting(ObjectDataSource1, GridPageEx1); //设置UI变化 e.SetValue(GridViewEx1); e.SetValue(GridPageEx1); } #endregion #region 翻页事件 protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e) { GridViewEx1.Pagging(ObjectDataSource1, GridPageEx1); //设置UI变化 e.SetValue(GridViewEx1); } #endregion #region 筛选事件 protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e) { //搜索选项的搜索条件过滤 if (!string.IsNullOrEmpty(TextBox_Search.Text)) e.AddOrParams(GridViewSearch1, TextBox_Search.Text); if (EQUIPMENT_TYPE.SelectedValue != "") { e.AddAndParams("EQUIPMENT_TYPE", EQUIPMENT_TYPE.SelectedValue); } //且搜索条件 //e.AddAndParams(字段名, 值); //或搜索条件 //e.AddOrParams(字段名, 值); //排序 e.AddAndParams("EQUIPMENT_STATE", 0); e.AddOrderByParams(GridViewOrderBy1); } #endregion #region 保存事件 protected void ButtonSeave_Click(object sender, EventArgs e) { bool _checked = false;//变量判断是否有项被选中 bool counttxt = false;//变量用来判断数量是否被输入 for (int j = 0; j < this.GridViewEx1.Rows.Count; j++) { bool check = ((CheckBoxEx)GridViewEx1.Rows[j].FindControl("Checked")).Checked; if (check) { string count = ((TextBoxEx)GridViewEx1.Rows[j].Cells[5]. FindControl("TextMumber")).Text; if (count == "") { counttxt = true; } else if (count == "0") { counttxt = true; } } } if (counttxt == false) { //循环获取被选中的行 for (int i = 0; i < this.GridViewEx1.Rows.Count; i++) { string EQUIPMENT_ID = GridViewEx1.DataKeys[i].Value.ToString(); bool check = ((CheckBoxEx)GridViewEx1.Rows[i].FindControl("Checked")).Checked; if (check) { //当被选中时获取输入的数量并保存 MSB.EQUIPMENT _EQUIPMENT = new MSB.EQUIPMENT(Transaction); DataTable dt = _EQUIPMENT.ExecuteDataTable( "SELECT EQUIPMENT_TYPE FROM MAINTENANCE_STORAGE.T_EQUIPMENT WHERE EQUIPMENT_ID=" + EQUIPMENT_ID + ""); string EQUIPMENT_TYPE = dt.Rows[0][0].ToString(); string PROINST_ID = Request.QueryString["ID"].ToString().ToDecrypt(); TextBoxEx txt = (TextBoxEx)this.GridViewEx1.Rows[i].FindControl("TextMumber"); string number = txt.Text.ToString(); for (int j = 0; j < int.Parse(number); j++) { MSB.PROINSTDETAIL _PROINSTDETAIL = new MSB.PROINSTDETAIL(Transaction); string sql = string.Format( "INSERT INTO MAINTENANCE_STORAGE.T_PROINSTDETAIL VALUES" + " (MAINTENANCE_STORAGE.SEQ_PROINSTDETAIL.nextval,'{0}','{1}','{2}'," + "null,null,null,sysdate,null)", PROINST_ID, EQUIPMENT_ID, EQUIPMENT_TYPE); _PROINSTDETAIL.ExecuteNonQuery(sql, null); } _checked = true; } } if (_checked == false) { Alert("请选择设备!"); } else { Alert("选择成功!"); string PROINST_ID = Request.QueryString["ID"].ToString(); //三级页面刷新二级页面 ExecClientScript("$('#pop-dialog-frame-GridViewEx1Page',parent.parent.document).attr('src', " + "'/MainTenance/Modules/Proinst/ProinstDetailList.aspx?ID=" + PROINST_ID + "" + "&PopDialogPageName=F_R_GridPageEx1&PopDialogName=GridViewEx1Page&r=0.5539873951065308')"); ClosePopDialog(); } } else { Alert("选择的设备数量不能为空和0"); counttxt = false; } } #endregion #region Gridview数据格式化 protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Header) { //根据业务类型格式化表头字段名 string PROINST_ID = Request.QueryString["ID"].ToString(); MSB.PROINST _PROINST = new MSB.PROINST(Transaction); DataTable dt = _PROINST.ExecuteDataTable( "SELECT PROINST_TYPE FROM MAINTENANCE_STORAGE.T_PROINST WHERE PROINST_ID="+ PROINST_ID.ToDecrypt() + ""); if (dt.Rows[0][0].ToString() == "2000") { e.Row.Cells[5].Text = "出库数量"; } } if (e.Row.RowType == DataControlRowType.DataRow) { //循环格式化设备类型字段 foreach (ListItemEx it in EQUIPMENT_TYPE.Items) { if (it.Value == e.Row.Cells[2].Text) { e.Row.Cells[2].Text = it.Text; break; } } } } #endregion } }