DataRow.BeginEdit 方法

  DataRow.BeginEdit 方法

DataRow 对象开始编辑操作。
命名空间: System.Data
程序集: System.Data (在 system.data.dll 中)
使用 BeginEdit 方法将 DataRow 置于编辑模式。在此模式中,事件被临时挂起,以便允许用户在不触发验证规则的情况下对多行进行多处更改。例如,如果需要确保总数列的值等于某行中借贷列的值,则可以将每一行都置入编辑模式,以便在用户尝试提交值之前挂起对行值的验证。
BeginEdit 方法在用户更改数据绑定控件的值时被隐式调用;EndEdit 方法在您调用 DataTable 对象的 AcceptChanges 方法时被隐式调用。当处于该编辑模式时,DataRow 存储原始值和新建议值的表示形式。因此,只要尚未调用 EndEdit 方法,就可以通过传递 Item 属性的 version 参数的 DataRowVersion.OriginalDataRowVersion.Proposed 来检索原始版本或建议版本。即

获取存储在由索引和要检索的数据的版本指定的列中的数据。
获取存储在已命名列中的数据的指定版本。

此时,还可通过调用 CancelEdit 方法取消任何编辑。
若要查看行中是否包含原始值或建议值,请调用 HasVersion 方法。
DataRow.HasVersion 方法
获取一个值,该值指示指定的版本是否存在。
语法:
public bool HasVersion (DataRowVersion version)
参数 Version DataRowVersion 值之一,它指定行版本。
返回值: 如果版本存在,则为 true;否则为 false
@RequestMapping(value = "export", method = RequestMethod.GET) public void exportToExcel(HttpServletRequest request, HttpServletResponse response, HttpSession session) throws IOException { System.out.println("111"); List<Attendance> attendanceList = (List<Attendance>) session.getAttribute("list"); // 创建 Excel 文档 Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Attendance"); // 创建表头 Row headerRow = sheet.createRow(0); String[] headers = {"考勤ID", "用户ID", "用户名", "考勤时间", "考勤类型"}; for (int i = 0; i < headers.length; i++) { Cell cell = headerRow.createCell(i); cell.setCellValue(headers[i]); } // 填充数据 int rowIndex = 1; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (Attendance attendance : attendanceList) { Row dataRow = sheet.createRow(rowIndex); dataRow.createCell(0).setCellValue(attendance.getAttendanceid()); dataRow.createCell(1).setCellValue(attendance.getUserid()); dataRow.createCell(2).setCellValue(attendance.getUsername()); dataRow.createCell(3).setCellValue(sdf.format(attendance.getDate())); dataRow.createCell(4).setCellValue(attendance.getType()); rowIndex++; } // 设置响应头 response.setHeader("content-type", "application/octet-stream"); response.setContentType("application/force-download"); response.addHeader("Content-Disposition", "attachment; filename=attendance.xlsx"); // 将 Excel 数据写入响应输出流 OutputStream outputStream = response.getOutputStream(); workbook.write(outputStream); workbook.close(); outputStream.flush(); outputStream.close(); }
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值