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():监听数据变化,触发重新计算
|