106 lines
6.0 KiB
Plaintext
106 lines
6.0 KiB
Plaintext
|
|
液体吸收测试报告 - 测试验证说明
|
|||
|
|
=====================================
|
|||
|
|
|
|||
|
|
修正后的实现要点:
|
|||
|
|
==================
|
|||
|
|
|
|||
|
|
1. 表头结构
|
|||
|
|
- 第一行:序号(合并)、试样1、试样2、试样3、试样4、试样5
|
|||
|
|
- 第二行:试样次数 1、2、3
|
|||
|
|
|
|||
|
|
2. 单元格颜色和可编辑性
|
|||
|
|
┌─────────────────────┬──────────┬──────────┬──────────┐
|
|||
|
|
│ 行名称 │ 次数1 │ 次数2 │ 次数3 │
|
|||
|
|
├─────────────────────┼──────────┼──────────┼──────────┤
|
|||
|
|
│ 吸水时间(s) │ 黄色 │ 空白 │ 空白 │
|
|||
|
|
│ 吸芯高度(mm) │ 空白 │ 白色 │ 空白 │
|
|||
|
|
│ 芯吸速率(mm/min) │ 空白 │ 空白 │ 黄色 │
|
|||
|
|
│ 平均芯吸速率 │ 空白 │ 空白 │ 黄色 │
|
|||
|
|
│ 标准偏差 │ 空白 │ 空白 │ 黄色 │
|
|||
|
|
│ 互检/审核 │ 空白 │ 白色 │ 空白 │
|
|||
|
|
└─────────────────────┴──────────┴──────────┴──────────┘
|
|||
|
|
|
|||
|
|
3. 测试步骤
|
|||
|
|
|
|||
|
|
步骤1:启动程序
|
|||
|
|
- 应该看到6行数据
|
|||
|
|
- 所有单元格初始值为0或空白
|
|||
|
|
|
|||
|
|
步骤2:点击"模拟数据"按钮
|
|||
|
|
- 吸水时间行:试样次数1列应显示黄色背景的数值(30-34之间)
|
|||
|
|
- 吸水时间行:试样次数2和3列应为空白
|
|||
|
|
- 吸芯高度行:试样次数2列应显示白色背景的数值(50-70之间)
|
|||
|
|
- 吸芯高度行:试样次数1和3列应为空白
|
|||
|
|
- 芯吸速率行:试样次数3列应显示黄色背景的计算结果
|
|||
|
|
- 芯吸速率行:试样次数1和2列应为空白
|
|||
|
|
- 平均芯吸速率行:试样次数3列应显示黄色背景的平均值
|
|||
|
|
- 标准偏差行:试样次数3列应显示黄色背景的标准偏差值
|
|||
|
|
- 互检/审核行:所有列应为空白(可在试样次数2列手动输入)
|
|||
|
|
|
|||
|
|
步骤3:手动编辑测试
|
|||
|
|
- 尝试点击吸水时间行的试样次数1列:应该是只读,不能编辑
|
|||
|
|
- 尝试点击吸芯高度行的试样次数2列:应该可以编辑
|
|||
|
|
- 修改吸芯高度的值后,芯吸速率应自动重新计算
|
|||
|
|
- 尝试点击芯吸速率行的试样次数3列:应该是只读,不能编辑
|
|||
|
|
|
|||
|
|
步骤4:导出Excel测试
|
|||
|
|
- 点击"导出"按钮
|
|||
|
|
- 选择保存位置
|
|||
|
|
- 打开导出的Excel文件
|
|||
|
|
- 验证表头结构:第一行显示"试样1-5",第二行显示"1、2、3"
|
|||
|
|
- 验证颜色:试样次数1和3列应为黄色背景
|
|||
|
|
- 验证数据:只有应该有数据的单元格才显示数据,其他为空白
|
|||
|
|
|
|||
|
|
4. 预期结果
|
|||
|
|
|
|||
|
|
正确的显示效果应该是:
|
|||
|
|
|
|||
|
|
┌────────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
|||
|
|
│ 序号 │试样1 │试样2 │试样3 │试样4 │试样5 │
|
|||
|
|
│ ├─┬─┬─┼─┬─┬─┼─┬─┬─┼─┬─┬─┼─┬─┬─┤
|
|||
|
|
│ │1│2│3│1│2│3│1│2│3│1│2│3│1│2│3│
|
|||
|
|
├────────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
|
|||
|
|
│吸水时间│🟨│ │ │🟨│ │ │🟨│ │ │🟨│ │ │🟨│ │ │
|
|||
|
|
├────────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
|
|||
|
|
│吸芯高度│ │⬜│ │ │⬜│ │ │⬜│ │ │⬜│ │ │⬜│ │
|
|||
|
|
├────────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
|
|||
|
|
│芯吸速率│ │ │🟨│ │ │🟨│ │ │🟨│ │ │🟨│ │ │🟨│
|
|||
|
|
├────────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
|
|||
|
|
│平均速率│ │ │🟨│ │ │🟨│ │ │🟨│ │ │🟨│ │ │🟨│
|
|||
|
|
├────────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
|
|||
|
|
│标准偏差│ │ │🟨│ │ │🟨│ │ │🟨│ │ │🟨│ │ │🟨│
|
|||
|
|
├────────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
|
|||
|
|
│互检审核│ │⬜│ │ │⬜│ │ │⬜│ │ │⬜│ │ │⬜│ │
|
|||
|
|
└────────┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
|
|||
|
|
|
|||
|
|
图例:
|
|||
|
|
🟨 = 黄色背景,有数据,只读
|
|||
|
|
⬜ = 白色背景,有数据或可输入,可编辑
|
|||
|
|
空白 = 白色背景,无数据,只读
|
|||
|
|
|
|||
|
|
5. 常见问题排查
|
|||
|
|
|
|||
|
|
问题1:所有单元格都显示0.00
|
|||
|
|
原因:数据初始化为0,但没有正确判断空白单元格
|
|||
|
|
解决:检查 ShouldBeEmpty() 方法是否正确实现
|
|||
|
|
|
|||
|
|
问题2:空白单元格显示黄色背景
|
|||
|
|
原因:CellPainting 事件没有正确处理
|
|||
|
|
解决:检查 DataGridView1_CellPainting 方法
|
|||
|
|
|
|||
|
|
问题3:应该可编辑的单元格不能编辑
|
|||
|
|
原因:列的 ReadOnly 属性设置错误
|
|||
|
|
解决:检查 InitializeDataGridView() 中的列定义
|
|||
|
|
|
|||
|
|
问题4:修改数据后没有重新计算
|
|||
|
|
原因:CellValueChanged 事件没有触发
|
|||
|
|
解决:检查事件是否正确注册
|
|||
|
|
|
|||
|
|
6. 代码关键点
|
|||
|
|
|
|||
|
|
- InitializeDataGridView():定义列结构和样式
|
|||
|
|
- ShouldBeEmpty():判断哪些单元格应该为空白
|
|||
|
|
- DataGridView1_CellFormatting():格式化显示,将0值的空白单元格显示为空字符串
|
|||
|
|
- DataGridView1_CellPainting():设置空白单元格的背景色为白色
|
|||
|
|
- DataGridView1_CellValueChanged():监听数据变化,触发重新计算
|