在不单击行的情况下获取 DataGridView 列中的最高数字,以在另一个表单上生成 ID 字段。 (C# Windows 表单应用程序)
Get Highest number in DataGridView Column without clicking a row, to generate ID field on another form. (C# Windows Forms App)
我正在尝试获取 DataGridView 列中最大数字的值,以便我可以使用该值 +1 填充单独表单上的文本字段,但我似乎找不到适用于 . Max,或满足此特定需求的解决方案。
根据我对 Python 的有限经验,我似乎记得能够通过使用 [-1] 或类似的东西来获取数组中的最后一个值,c# 有这样的东西吗?
这是我的代码,用于填充第二个表单的文本字段,第一个是 DataGridView 的列值:
public AddPart()
{
InitializeComponent();
MainScreen frm1 = new MainScreen();
AddPartIDBox.Text = frm1.PartDGV.Rows[0].Cells[0].Value.ToString();
这就是我需要它做的事情,如果我有 ID 0、1,我需要用 2 填充该文本字段,以便它使用下一个可用编号保存新部分。
注意:
将 2 个部分(ID 0 和 ID 1)手动编码为 Program.cs 以添加,部分构造函数使用整数 IncrementID 设置 ID 字段 PartID = IncremementID++;
多亏了 Ryan Wilson,我才能让它正常工作。这是代码片段:
int dgvIndex = (int)frm1.PartDGV.Rows[frm1.PartDGV.Rows.Count - 1].Cells[0].Value;
int dgvIndex2 = dgvIndex + 1;
AddPartIDBox.Text = dgvIndex2.ToString();
如果您的 DataGridView
可以被操纵以重新排列行,最好找到 MAX
PartID
。您可以通过多种方式实现这一点,但为了用几行代码来完成,我将使用 Linq
:
int maxpartid = frm1.PartDGV.Rows.Cast<DataGridViewRow>()
.Max(x => Convert.ToInt32(x.Cells[0].Value));
我正在尝试获取 DataGridView 列中最大数字的值,以便我可以使用该值 +1 填充单独表单上的文本字段,但我似乎找不到适用于 . Max,或满足此特定需求的解决方案。
根据我对 Python 的有限经验,我似乎记得能够通过使用 [-1] 或类似的东西来获取数组中的最后一个值,c# 有这样的东西吗?
这是我的代码,用于填充第二个表单的文本字段,第一个是 DataGridView 的列值:
public AddPart()
{
InitializeComponent();
MainScreen frm1 = new MainScreen();
AddPartIDBox.Text = frm1.PartDGV.Rows[0].Cells[0].Value.ToString();
这就是我需要它做的事情,如果我有 ID 0、1,我需要用 2 填充该文本字段,以便它使用下一个可用编号保存新部分。
注意: 将 2 个部分(ID 0 和 ID 1)手动编码为 Program.cs 以添加,部分构造函数使用整数 IncrementID 设置 ID 字段 PartID = IncremementID++;
多亏了 Ryan Wilson,我才能让它正常工作。这是代码片段:
int dgvIndex = (int)frm1.PartDGV.Rows[frm1.PartDGV.Rows.Count - 1].Cells[0].Value;
int dgvIndex2 = dgvIndex + 1;
AddPartIDBox.Text = dgvIndex2.ToString();
如果您的 DataGridView
可以被操纵以重新排列行,最好找到 MAX
PartID
。您可以通过多种方式实现这一点,但为了用几行代码来完成,我将使用 Linq
:
int maxpartid = frm1.PartDGV.Rows.Cast<DataGridViewRow>()
.Max(x => Convert.ToInt32(x.Cells[0].Value));