使用 LINQ 根据记录 ID 获取最大 DataGridViewRow

Get max DataGridViewRow based on Record ID using LINQ

我正在尝试获取具有最大记录 ID 值的 DataGridViewRow。 我能够自己获取记录 ID,但我需要自己找到该行。

这是我获取最大记录 ID 的代码,它工作正常:

var addedRow =
                dataGridView.Rows
                .Cast<DataGridViewRow>()
                .Where(r => r.Cells[Glossary.RowType].Value.ToString().Equals(Glossary.RowTypeCustom))
                .Select(r => Convert.ToInt(r.Cells[Glossary.RecordId].Value))
                .Max();

我试过了:

.Max(r => r.Cells[Glossary.RecordId].Value);

我不清楚如何获取该行本身以便我可以将重点放在它上面:

dataGridView.CurrentCell = addedRow;

试试用这个。

    var addedRow =
            dataGridView.Rows
            .Cast<DataGridViewRow>()
            .Where(r => r.Cells[Glossary.RowType].Value.ToString().Equals(Glossary.RowTypeCustom))
            .OrderByDescending(r => Convert.ToInt(r.Cells[Glossary.RecordId].Value))
            .FirstOrDefault();

希望对您有所帮助。