gpt4 book ai didi

c# - 随机获取选中的行号返回0

转载 作者:行者123 更新时间:2023-11-30 12:48:47 25 4
gpt4 key购买 nike

我有一个链接到 DGV 的上下文菜单条。单击 DGV 中的单元格时,它将打开上下文菜单条,我可以单击“plotStripMenuItem”打开一个表单(formPlot),它基本上从文本文件中读取数据并绘制图形并计算一些统计数据返回(一旦 formPlot 关闭)到先前单击的 DGV 行。

为此,我使用“int clickedRow”在打开 formPlot 之前存储单击的行号,并在关闭 formPlot 后使用它来更新 DGV。

    private void plotToolStripMenuItem_Click(object sender, EventArgs e)
{
//get the row number which was clicked
string strClickedRow = DGVLeft.CurrentCellAddress.Y.ToString();
int clickedRow = Convert.ToInt16(strClickedRow);

FormPlot formPlot = new FormPlot(strLot, pathLD);
formPlot.ShowDialog();

DGVLeft.Rows[clickedRow].Cells[0].Value = formPlot.columnA;
DGVLeft.Rows[clickedRow].Cells[1].Value = formPlot.ColumnB;
DGVLeft.Rows[clickedRow].Cells[2].Value = formPlot.columnC;
DGVLeft.Rows[clickedRow].Cells[3].Value = formPlot.columnD;
}

大多数时候这会按预期工作。但我注意到它偶尔不会更新在我打开 formPlot 之前单击的 DGV 单元格。相反,它更新了第 0 行!

例如我点击了第 7 行,但从 formPlot 返回后,DGV 第 0 行的值被更新了。不是 DGV 行号 7 的值。

对我来说,现在第 0 行将被更新,因为我单击第 7 行并将其存储在一个变量中。

我在这里遗漏了什么吗?

最佳答案

这可能会或可能不会解决您的问题,但为什么要将行号转换为字符串然后再转换回来?

    //get the row number which was clicked 
string strClickedRow = DGVLeft.CurrentCellAddress.Y.ToString();
int clickedRow = Convert.ToInt16(strClickedRow);

应该只是

    //get the row number which was clicked 
int clickedRow = DGVLeft.CurrentCellAddress.Y;

关于c# - 随机获取选中的行号返回0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13355844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com