我需要在C#中的代碼段代碼來保存所選的行從DataGridView
行後雙擊。保持一行datagridview被用戶選中
現在我正在顯示來自數據集的數據,選擇模式爲FullRowSelect
。 任何方式來設置?
有兩種情況處理:
- 每次計時器滴答選定行經常去的DataGridView的第一行。
- 一旦點擊了一行,它就會被選中,但在計時器滴答後,選定的行將轉到第一個行。
感謝您的幫助!
一個新手程序員
我需要在C#中的代碼段代碼來保存所選的行從DataGridView
行後雙擊。保持一行datagridview被用戶選中
現在我正在顯示來自數據集的數據,選擇模式爲FullRowSelect
。 任何方式來設置?
有兩種情況處理:
感謝您的幫助!
一個新手程序員
從數據集和選擇模式現在,我顯示的數據是
FullRowSelect
。任何方式來設置?
DataGridView.SelectionMode
屬性將通過DataGridViewSelectionMode
枚舉爲您完成。
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
至於你的問題的其餘部分,我想進一步的細節是必需的。你以後有什麼樣的行爲?
編輯#1
按您的評論:
後,我連續一個新的形式打開點擊。問題是,每次啓用計時器時,都會調用populate_DatagridView方法,並且所選行位於第一行,而不是保持所選行的點擊。
一種解決方案可能是以下幾點:
private _dataGridViewRowSelectedIndex;
private void dataGridview1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) {
DataGridView dgv = (DataGridview)sender;
if (dgv.Rows.GetRowState(e.RowIndex) == DataGridViewElementStates.Selected)
_dataGridViewRowSelectedIndex = e.RowIndex;
// Open your form here...
// And when your form returns...
// Set the selected index like so
dgv.Rows[_dataGridViewRowSelectedIndex].Selected = true;
}
這是否幫助你呢?
你必須做,在功能timer_tick
private void timer3_Tick(object sender, EventArgs e)
{
int rowIndex;
if (dgvOrdini.Rows.Count == 0) //here I check if the dgv is empty
rowIndex = 0;
else
// I save the index of the current row in rowIndex
rowIndex = this.dgvOrdini.CurrentCell.RowIndex;
.......
.......
if (dgvOrdini.Rows.Count != 0) //Now if the dgv is not empty
//I set my rowIndex
dgvOrdini.CurrentCell = dgvOrdini.Rows[rowIndex].Cells[0];
}
用這種方法選定行不會改變。
試試這個。 首先保存行的實際選擇
int index = -1 //set the index to negative (because if you have only 1 row in your grid, this is a zero index
if (yourdatagridview.Rows.Count > 0) //if you have rows in datagrid
{
index = yourdatagridview.SelectedRows[0].Index; //then save index into variable
}
現在你可以更新datagridview的索引...
更新您必須設置selecvted行後:
if (index != -1) //if index == -1 then you don't have rows in your datagrid
{
yourdatagridview.Rows[index].Selected = true;
}
它的作品!
當我點擊一行後,打開一個新的表單。問題是,每次啓用計時器時,都會調用populate_DatagridView方法,並且所選行位於第一行,而不是保持所選行的點擊。 – user367509 2010-06-15 18:16:22
感謝您的回答,但在閱讀了很多內容之後,我想我可以更好地解釋我的問題。我的問題是,除了實現數據之外,每次調用populate_datagridview方法時,都會選擇第一行數據網格,而不是保持選中當前行或點擊行。基本上,我需要的是將FirstDisplayedScrollingRowIndex更新爲當前行索引。 – user367509 2010-06-15 21:34:35
這基本上是我的代碼示例,不是嗎?有什麼重大區別?你也許得到了我不知道的東西。如果是的話,感謝分享。 =) – 2010-06-16 00:14:18