using BLL; using Model; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.TestRun.BeforeTestRun { public partial class InspectTemplate : PageBase { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.InitTreeMenu();//加载树 } } #region 数绑定 /// /// 加载树 /// private void InitTreeMenu() { this.tvControlItem.Nodes.Clear(); TreeNode rootNode = new TreeNode(); rootNode.Text = "工作包模板设置"; rootNode.NodeID = "0"; rootNode.Expanded = true; rootNode.ToolTip = ""; rootNode.EnableClickEvent = true; this.tvControlItem.Nodes.Add(rootNode); var list = Funs.DB.PreRun_WorkPackage.OrderBy(x => x.Sort).ToList(); foreach (var item in list) { TreeNode rootUnitNode = new TreeNode();//定义根节点 rootUnitNode.NodeID = item.WorkPackId; rootUnitNode.Text = item.WorkPackName; rootUnitNode.ToolTip = item.WorkPackName; rootUnitNode.CommandName = ""; rootUnitNode.EnableClickEvent = true; rootUnitNode.EnableExpandEvent = true; rootUnitNode.Expanded = true; rootNode.Nodes.Add(rootUnitNode); } } /// /// 点击TreeView /// protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) { this.BindGrid(); } #endregion #region 数据绑定 /// /// 绑定数据 /// public void BindGrid() { string strSql = @"select * from PreRun_WorkInspectTemplate where WorkPackId=@WorkPackId "; List listStr = new List(); listStr.Add(new SqlParameter("@WorkPackId", this.tvControlItem.SelectedNodeID)); if (!string.IsNullOrWhiteSpace(txtsWorkInspectName.Text)) { strSql += "and WorkInspectName like '%" + txtsWorkInspectName.Text + "%'"; } strSql += " order by Sort asc"; SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } /// /// 搜索 /// protected void btnSearch_Click(object sender, EventArgs e) { BindGrid(); } /// /// 分页 /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid(); } /// /// 排序 /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } /// /// 分页下拉框事件 /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } /// /// 行按钮事件 /// protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == "Delete") { string rowID = e.RowID; var model = Funs.DB.PreRun_WorkInspectTemplate.FirstOrDefault(p => p.WorkInspectId == rowID); if (model != null) { Funs.DB.PreRun_WorkInspectTemplate.DeleteOnSubmit(model); Funs.DB.SubmitChanges(); BindGrid(); ShowNotify("删除成功!"); } else { ShowNotify("删除错误!"); } } } #endregion /// /// 保存 /// protected void btnSave_Click(object sender, EventArgs e) { try { JArray mergedData = Grid1.GetMergedData(); foreach (JObject mergedRow in mergedData) { string status = mergedRow.Value("status"); JObject values = mergedRow.Value("values"); int i = mergedRow.Value("index"); var rowid = this.Grid1.Rows[i].DataKeys[0].ToString(); var add = false; PreRun_WorkInspectTemplate model = Funs.DB.PreRun_WorkInspectTemplate.FirstOrDefault(x => x.WorkInspectId == rowid); if (model == null) { add = true; model = new PreRun_WorkInspectTemplate(); model.WorkInspectId = Guid.NewGuid().ToString(); model.AddUser = this.CurrUser.UserId; model.AddTime = DateTime.Now; model.Sort = i; } model.WorkPackId = this.tvControlItem.SelectedNodeID; model.WorkInspectName = values.Value("WorkInspectName"); model.Remark = values.Value("Remark"); if (add) Funs.DB.PreRun_WorkInspectTemplate.InsertOnSubmit(model); Funs.DB.SubmitChanges(); } BindGrid(); ShowNotify("修改成功!"); } catch (Exception ex) { ShowNotify(ex.Message, MessageBoxIcon.Error); } } /// /// 新增 /// protected void btnAdd_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID)) { ShowNotify("请选择工作包!", MessageBoxIcon.Warning); return; } this.hidSelectedNodeID.Text = string.Empty; PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidSelectedNodeID.ClientID) + Window1.GetShowReference($"InspectTemplateEdit.aspx?WorkInspectId=&WorkPackId={this.tvControlItem.SelectedNodeID}", "新增")); } /// /// 编辑 /// protected void btnEdit_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { ShowNotify("请选择一条数据!", MessageBoxIcon.Warning); return; } var rowIndex = Grid1.SelectedRowIndex; var rowId = Grid1.DataKeys[rowIndex][0].ToString(); var workPackId = Grid1.DataKeys[rowIndex][1].ToString(); this.hidSelectedNodeID.Text = string.Empty; PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidSelectedNodeID.ClientID) + Window1.GetShowReference($"InspectTemplateEdit.aspx?WorkInspectId={rowId}&WorkPackId={workPackId}", "编辑")); } /// /// 新增/编辑关闭 /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { if (!string.IsNullOrWhiteSpace(hidSelectedNodeID.Text)) { this.tvControlItem.SelectedNodeID = hidSelectedNodeID.Text; BindGrid(); } } } }