在我的數據網格中,正在根據某些值更改行選擇。選擇已更改的數據網格不會更改當前行索引
dgvGetData.Rows[rowIndex].Selected = true;
但在DataGrid中選擇改變事件的當前行的索引不改變的rowIndex.it仍然是我設置之前相同dgvGetData.Rows[rowIndex].Selected = true;
在我的數據網格中,正在根據某些值更改行選擇。選擇已更改的數據網格不會更改當前行索引
dgvGetData.Rows[rowIndex].Selected = true;
但在DataGrid中選擇改變事件的當前行的索引不改變的rowIndex.it仍然是我設置之前相同dgvGetData.Rows[rowIndex].Selected = true;
我找到了答案 我設置的代碼如下
rowIndex = row.Index;
dgvGetData.ClearSelection();
dgvGetData.CurrentCell = dgvGetData.Rows[rowIndex].Cells[2];
dgvGetData.CurrentRow.Selected = false;
dgvGetData.Rows[rowIndex].Selected = true;
當我加入了線
gvGetData.CurrentCell = dgvGetData.Rows[rowIndex].Cells[2];
dgvGetData.CurrentRow.Selected = false;
奏效並返回選定行的索引作爲當前index ..
這通常工作得很好,只有我能想到的是問題有多重選擇並取回先前選定的行(即將被選中)。如果這將是問題,修復將很容易:
myDataGridView.ClearSelection();
myDataGridView.Rows[rowIndex].Selected = true;
multiselect屬性設置爲false,我也alresdy添加了代碼myDataGridView.ClearSelection();改變選擇 –
@SruthiSuresh我在一個新的窗體上測試它,它的工作原理如此idk從這裏去 – EpicKip
我的源代碼。
you miss cells [ColumnIndex]。
此代碼添加。
DataGridView.Rows[ RowIndex ].Cells[ ColumnIndex ].selected = true;
是您的DataGridView對象FullRowSelect
的屬性SelectionMode
?
如果您想以編程方式設置屬性。 試試這個
dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
yess我試圖通過設置dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; –
通過使用下面的代碼可以找到一個值,這將是選定行:
int rowIndexResource = -1;
foreach (DataGridViewRow row in this.resourceDataGridView.Rows)
{
if(row.Cells["resourceConfigId"].Value.ToString().Equals(resourceInfo.ResourceConfigId.ToString()))
{
rowIndexResource = row.Index;
break;
}
}
this.resourceDataGridView.Rows[rowIndexResource].Selected = true;
this.resourceDataGridView.FirstDisplayedScrollingRowIndex = rowIndexResource;
this.resourceDataGridView.Focus();
「resourceConfigId」是列名,我在DataGridView和resourceInfo.ResourceConfigId.ToString()是你在後搜索特定的字符串值格。這不是對你的問題的直接回答,但你可以考慮這是否仍然有用。
是多選,因爲如果我測試它工作正常 – EpicKip