如果我選擇在一個DataGridView一個以上的電池,我怎樣才能(在一個MsgBox)最高ColumnIndex(中選出)
一種方式做到這一點是單元的值使用linq通過ColumnIndex對所選單元格的集合進行排序,然後獲取第一個單元格。
var selectedCells =dgvC.SelectedCells;
var MaxColumn = (from DataGridViewCell cell in selectedCells
orderby cell.ColumnIndex descending
select cell).FirstOrDefault();
MessageBox.Show(MaxColumn.Value.ToString());
你應該注意到,這取決於用戶如何做出的選擇(從上到下或從下到上)你要麼從第一行或最後一行中獲得的價值。如果這很重要,您還應該通過RowIndex訂購
另一種方法是檢查集合中的第一個和最後一個單元並比較索引。我們需要看兩者,因爲取決於用戶如何做出選擇,具有更大列索引的人將會改變。
var selectedCells = dgvc.SelectedCells;
var cellStart = selectedCells[0];
var cellEnd = selectedCells[selectedCells.Count -1];
if (cellStart.ColumnIndex > cellEnd .ColumnIndex)
MessageBox.Show(cellStart.Value.ToString());
else
MessageBox(cellEnd.Value.ToString());
注意:你應該檢查空值,如果AllowUsersToAddRow是真的
其http://WhatHaveYouTried.com? DGV上的選擇模式是什麼? –
我需要通過列表來填充單元格,但只有未選中的單元格以及從第一個未選中到行末的單元格。 – Bonaca
請向我們展示您到目前爲止的代碼,謝謝。 –