e.ColumnIndex != dgvData.Columns["colRead"].Index
时间: 2024-03-27 12:39:37 浏览: 19
您的问题是判断 DataGridView 控件中当前列是否为 "colRead" 列,可以使用以下代码:
```csharp
if (e.ColumnIndex != dgvData.Columns["colRead"].Index)
{
// 当前列不是 "colRead" 列
}
else
{
// 当前列是 "colRead" 列
}
```
其中,`e.ColumnIndex` 表示当前列的索引,`dgvData.Columns["colRead"].Index` 表示 "colRead" 列的索引。如果两者不相等,则表示当前列不是 "colRead" 列。
相关问题
def successors(self, ml: MazeLocation) -> List[MazeLocation]: # 记录运动的路线 locations: List[MazeLocation] = [] if ml.row + 1 < self._rows and self._grid[ml.row + 1][ml.column] != Cell.BLOCKED: locations.append(MazeLocation(ml.row + 1, ml.column)) if ml.row - 1 >= 0 and self._grid[ml.row - 1][ml.column] != Cell.BLOCKED: locations.append(MazeLocation(ml.row - 1, ml.column)) if ml.column + 1 < self._columns and self._grid[ml.row][ml.column + 1] != Cell.BLOCKED: locations.append(MazeLocation(ml.row, ml.column + 1)) if ml.column - 1 >= 0 and self._grid[ml.row][ml.column - 1] != Cell.BLOCKED: locations.append(MazeLocation(ml.row, ml.column - 1)) return locations每行什么意思帮我加上注释
这段代码是一个迷宫问题中的寻找后继节点的函数,下面是每行的注释:
```python
def successors(self, ml: MazeLocation) -> List[MazeLocation]: # 获取当前节点的后继节点
locations: List[MazeLocation] = [] # 新建一个list用于存储后继节点
if ml.row + 1 < self._rows and self._grid[ml.row + 1][ml.column] != Cell.BLOCKED: # 如果下一行不越界且下一行的方格不是障碍,则添加到后继节点列表中
locations.append(MazeLocation(ml.row + 1, ml.column))
if ml.row - 1 >= 0 and self._grid[ml.row - 1][ml.column] != Cell.BLOCKED: # 如果上一行不越界且上一行的方格不是障碍,则添加到后继节点列表中
locations.append(MazeLocation(ml.row - 1, ml.column))
if ml.column + 1 < self._columns and self._grid[ml.row][ml.column + 1] != Cell.BLOCKED: # 如果下一列不越界且下一列的方格不是障碍,则添加到后继节点列表中
locations.append(MazeLocation(ml.row, ml.column + 1))
if ml.column - 1 >= 0 and self._grid[ml.row][ml.column - 1] != Cell.BLOCKED: # 如果上一列不越界且上一列的方格不是障碍,则添加到后继节点列表中
locations.append(MazeLocation(ml.row, ml.column - 1))
return locations # 返回后继节点列表
```
string regAddr = dgvData.Rows[e.RowIndex].Cells["colRegNum"].Value.ToString(); //modbus地址 ushort uRegAddr = (ushort)Convert.ToInt16(regAddr); string regValue = ""; if (dgvData.Rows[e.RowIndex].Cells["colRegValue"].Value != null) { regValue = dgvData.Rows[e.RowIndex].Cells["colRegValue"].Value.ToString(); regValue = GetGridValue(regAddr, regValue).ToString(); } double dRegValue = 0; if (regValue.Trim() != "") { dRegValue = Convert.ToDouble(regValue); } if (e.ColumnIndex == dgvData.Columns["colRead"].Index) { if (SendReadCmd(uRegAddr)) { int pos = (int)Math.Log10(modCmd.objRegDicionary[uRegAddr].Gain); string format = "f" + pos.ToString(); string strValue = modCmd.objRegDicionary[uRegAddr].regValue.ToString(); if (pos > 0) { strValue = modCmd.objRegDicionary[uRegAddr].regValue.ToString(format); } if (IsSwitchReg(regAddr)) { if (strValue == "1") { strValue = "ON"; } else { strValue = "OFF"; } }
在这段代码中,它首先从所选行中获取modbus地址并将其转换为ushort类型,就像之前的代码片段一样。接着,它会检查所选行中“colRegValue”列的值是否为空,如果不为空,就会调用GetGridValue方法来获取该值,并将其转换为字符串类型。
然后,它会将获取到的字符串类型的值转换为double类型,并将其存储在dRegValue变量中。接下来,它会检查用户是否点击了“colRead”列。如果是,它会调用SendReadCmd方法向modbus设备发送读取命令,并从modCmd.objRegDicionary[uRegAddr]中获取到读取到的寄存器值。然后,它会将该值格式化成字符串,并将其存储在strValue变量中。如果该寄存器是开关寄存器,它会将值“1”转换为“ON”,将值“0”转换为“OFF”。
总之,这段代码的作用是在用户单击“colRead”列时,向modbus设备发送读取命令,并将读取到的寄存器值在DataGridView中显示出来。
相关推荐
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)