Files
NonWovenFabric/WindowsFormsApp6/快速测试手动输入.txt
GukSang.Jin f00d3dd4dd '初始化'
2025-12-31 09:43:35 +08:00

174 lines
6.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
快速测试手动输入功能
======================
## 5步快速测试
### 步骤1启动程序
- 运行程序
- 看到6行数据的表格
### 步骤2生成模拟数据
- 点击"模拟数据"按钮
- 吸水时间行会显示数据试样次数1列
- 吸芯高度行会显示数据所有3列
### 步骤3输入吸芯高度试样次数1列
- 找到"吸芯高度mm"行
- 双击"试样1"下的"1"列(第一列)
- 输入60.50
- 按Enter键
### 步骤4输入吸芯高度试样次数2列
- 找到"吸芯高度mm"行
- 双击"试样2"下的"2"列(中间列)
- 输入65.75
- 按Enter键
### 步骤5输入吸芯高度试样次数3列
- 找到"吸芯高度mm"行
- 双击"试样3"下的"3"列(第三列)
- 输入70.25
- 按Enter键
### 步骤6查看自动计算
- 查看"芯吸速率"行的"试样1、2、3"下的"3"列
- 应该显示计算结果
- 查看"平均芯吸速率"行
- 查看"标准偏差"行
## 预期结果
```
┌─────────────┬────┬────┬────┬────┬────┬────┐
│ 序号 │试样1│试样2│试样3│试样4│试样5│
│ ├─┬─┬─┼─┬─┬─┼─┬─┬─┼─┬─┬─┼─┬─┬─┤
│ │1│2│3│1│2│3│1│2│3│1│2│3│1│2│3│
├─────────────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│吸水时间(s) │30│ │ │31│ │ │32│ │ │33│ │ │34│ │ │
├─────────────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│吸芯高度(mm) │60│65│70│60│65│70│60│65│70│60│65│70│60│65│70│
│ │↑│↑│↑│↑│↑│↑│↑│↑│↑│↑│↑│↑│↑│↑│↑│
│ │可│可│可│可│可│可│可│可│可│可│可│可│可│可│可│
│ │编│编│编│编│编│编│编│编│编│编│编│编│编│编│编│
│ │辑│辑│辑│辑│辑│辑│辑│辑│辑│辑│辑│辑│辑│辑│辑│
├─────────────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│芯吸速率 │ │ │120│ │126│ │131│ │136│ │141│
│(mm/min) │ │ │↑ │ │ │↑ │ │ │↑ │ │ │↑ │ │ │↑ │
│ │ │ │自│ │ │自│ │ │自│ │ │自│ │ │自│
│ │ │ │动│ │ │动│ │ │动│ │ │动│ │ │动│
│ │ │ │计│ │ │计│ │ │计│ │ │计│ │ │计│
│ │ │ │算│ │ │算│ │ │算│ │ │算│ │ │算│
└─────────────┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
```
## 检查点
✅ 可以双击"吸芯高度"行的试样次数1列
✅ 可以双击"吸芯高度"行的试样次数2列
✅ 可以双击"吸芯高度"行的试样次数3列
✅ 可以输入数字
✅ 按Enter后数字正确显示
✅ 芯吸速率自动计算(使用平均吸芯高度)
✅ 平均值自动更新
✅ 标准偏差自动更新
✅ 可以继续编辑其他试样
✅ 隔行变色效果正常
✅ 其他行不可编辑
## 如果无法编辑
### 检查1是否选对了行
- 必须是"吸芯高度mm"行
- 不是其他行(吸水时间、芯吸速率等都不可编辑)
### 检查2是否双击了
- 需要双击单元格进入编辑模式
- 或者单击后按F2键
### 检查3CellBeginEdit事件
- 确认CellBeginEdit事件已注册
- 确认只有吸芯高度行允许编辑
## 代码检查
如果功能不正常,检查以下代码:
### 1. 列定义
```csharp
// 所有列都应该设置为可编辑
dataGridView1.Columns.Add(new DataGridViewTextBoxColumn
{
Name = $"试样{i}_1",
ReadOnly = false, // ← 必须是false
...
});
```
### 2. CellBeginEdit事件
```csharp
// 动态控制哪些单元格可以编辑
private void DataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex > 0)
{
string rowName = dataGridView1.Rows[e.RowIndex].Cells["序号"].Value?.ToString() ?? "";
// 吸芯高度mm行 - 所有列都可以编辑
if (rowName == "吸芯高度mm")
{
return; // 允许编辑
}
// 其他行 - 取消编辑
e.Cancel = true;
}
}
```
### 3. CellValueChanged事件
```csharp
// 吸芯高度行的任何修改都触发重新计算
private void DataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
{
string rowName = dataGridView1.Rows[e.RowIndex].Cells["序号"].Value?.ToString() ?? "";
if (rowName == "吸芯高度mm")
{
RecalculateRow(e.RowIndex);
}
}
}
```
## 调试建议
如果遇到问题,可以:
1. 在CellBeginEdit事件中添加断点
2. 检查rowName是否正确识别为"吸芯高度mm"
3. 检查e.Cancel是否正确设置
4. 在CellValueChanged事件中添加断点
5. 检查计算逻辑是否正确执行
## 成功标志
当你看到以下情况时,说明功能正常:
1. ✅ 双击吸芯高度行的任意列后出现光标
2. ✅ 可以输入数字
3. ✅ 按Enter后数字保留
4. ✅ 芯吸速率列显示计算结果
5. ✅ 平均值和标准偏差更新
6. ✅ 其他行无法编辑
7. ✅ 可以导出到Excel
8. ✅ Excel中数据正确显示
## 重要提示
**新功能**吸芯高度行的所有3列试样次数1、2、3都可以编辑
- 这样可以更灵活地输入数据
- 系统会自动计算平均值用于芯吸速率计算
- 其他行保持只读,不可编辑