/// <summary> /// 删除指定合同单号和行序号的一行数据 /// </summary> /// <param name="e">事件参数</param> /// <returns></returns> private bool DeleteData(ListViewDeleteEventArgs e) { //数据适配器 using (var da = new v_market_contractTableAdapter()) using (var daContent = new t_market_contract_contentTableAdapter()) using (var daHead = new t_market_contract_headTableAdapter()) using (var daAppendix = new t_market_contract_appendixTableAdapter()) { //数据库连接对象 var conn = da.Connection; daContent.Connection = conn; daHead.Connection = conn; daAppendix.Connection = conn; //打开数据库连接 conn.Open(); //开启事务 using (var tran = conn.BeginTransaction(System.Data.IsolationLevel.RepeatableRead)) { try { //绑定事务 da.Transaction = tran; daContent.Transaction = tran; daHead.Transaction = tran; daAppendix.Transaction = tran; //合同单号 string billNum = e.Keys[0].ToString(); //行号 byte rowId = byte.Parse(e.Keys[1].ToString()); //取指定单号和行序号的数据 var tab = da.GetDataByBillNumAndRowId(billNum, rowId); if (tab.Rows.Count == 0) { throw new Exception(string.Format("当前单据:\n单号:{0}\n行号:{1}\n已经被其他用户删除!", billNum, rowId)); } //删除数据行 if (daContent.Delete(billNum, rowId) <= 0) { throw new Exception("根据单号和行号删除合同内容失败!"); } //删除数据表头 if (daHead.Delete(billNum) <= 0) { throw new Exception("根据单号和行号删除合同表头记录失败!"); } //删除合同附件 if (daAppendix.Delete(billNum, rowId) <= 0) { throw new Exception("根据单号和行号删除合同附件记录失败!"); } //提交事务 tran.Commit(); } catch (Exception ex) { //事务回滚 tran.Rollback(); throw ex; } finally { conn.Close(); } } } return true; }
//导出数据到Excel protected void lBtnToExcel_Click(object sender, EventArgs e) { //获取数据并填充到数据表 using (var da = new v_market_contractTableAdapter()) { //查询条件 string strWhereContent = GetWhereContent(); //排序条件 string strOrderBy = GetOrderByContent(); //获取前1万行数据 var tab = da.GetPagedData(0, 10000, strWhereContent, strOrderBy); //设置列标题 string[] titleCol = (@"合同日期,合同单号,合同序号,物料编码,产品名称, 产品尺寸/长(cm),产品尺寸/宽(cm),拼出,材料规格,合同价格,层数, 工艺要求/成型,工艺要求/表面,工艺要求/阻焊,工艺要求/文字, 单价(元)/PCS,模具费(元)/套,测架费(元)/套,备注,合同附件,客户代码, 需方,需方地址,需方电话,需方传真,需方邮箱,需方联系人, 供方,地址,电话,传真,备注, 制表,制表时间,审核,审核时间,修改时间 ").Split(','); //设置表名称 string titleTab = "合同记录"; //临时文件名称 string fileName = titleTab + DateTime.Now.ToString("yyMMddHHmmss") + ".xls"; //执行导出数据到excel bool isSuccess = ydPublicMethod.DataTable2Excel(tab, titleCol, ref fileName, titleTab); //如果成功则跳转到指定页面 if (isSuccess) { Response.Redirect(fileName); //停止加载后续内容 Response.End(); } } }