我只想在特定列上設置製表順序。如我有2列(ID和名稱)。所以選項卡僅反映在「名稱」列上。當我按Tab鍵時,它會垂直移動到同一列中的下一行。如何僅在特定列datagridview中設置製表順序
1
A
回答
2
我認爲你必須重寫ProcessDataGridViewKey
方法趕上Tab
鍵並選擇單元格自己,就像這樣:
public class CustomDataGridView : DataGridView
{
//This contains all the column indices in which the tab will be switched vertically. For your case, the initial index is 1 (the second column): VerticalTabColumnIndices.Add(1);
public List<int> VerticalTabColumnIndices = new List<int>();
protected override bool ProcessDataGridViewKey(KeyEventArgs e)
{
if (e.KeyCode == Keys.Tab&&VerticalTabColumnIndices.Contains(CurrentCell.ColumnIndex))
{
int i = (CurrentCell.RowIndex + 1) % Rows.Count;
CurrentCell = Rows[i].Cells[CurrentCell.ColumnIndex];
return true;//Suppress the default behaviour which switches to the next cell.
}
return base.ProcessDataGridViewKey(e);
}
}
//or simply you can handle the Tab key in a KeyDown event handler
private void KeyDownHandler(object sender, KeyEventArgs e){
if(e.KeyCode == Keys.Tab){
e.Handled = true;
//remaining code...
//.....
}
}
//in case you are not familiar with event subscribing
yourDataGridView.KeyDown += KeyDownHandler;
+0
從上面回答我面臨同樣的問題。 –
+0
@ user2607573該代碼運行良好,因爲我測試過它,如果不適合你,你應該考慮一切,如果可能的話。代碼與向前選項卡,而不是向後選項卡(SHIT + TAB)一起使用。 –
0
列在dataridview沒有tab順序
1),則可以覆蓋處理選項卡的keydown事件。
2)另一個簡單的方法是按下向上,向下,向左,向右鍵導航數據網格視圖。
相關問題
- 1. 從DataGridView設置特定的列輸入數字僅在vb.net
- 2. 如何在Excel 2013中設置表格中的製表順序
- 3. 在給定的id序列中設置列表順序
- 4. 如何在Maven中設置特定的部署順序?
- 5. 如何僅在DataGridView中調整特定的列大小?
- 6. 如何在初始排序順序的DataGridView列上設置排序列,順序和字形?
- 7. 如何在Excel中設置序列(順序)列
- 8. 列表排序,以特定的順序
- 9. 爲dataGridView中的特定列設置默認列值
- 10. 如何設置特定表
- 11. 如何使用VB.Net在datagridview的特定列中設置單元格格式?
- 12. 僅在gnuplot中繪製特定列
- 13. 如何將列表框項目順序維護到DataGridView中
- 14. jQuery如何設置綁定順序
- 15. 如何在JTable中設置特定的列設置?
- 16. 如何設置datagridview中列的寬度
- 17. 在JTable中設置列的順序
- 18. 如何在無界datagridview指定列中設置焦點?
- 19. 按特定順序合併列表
- 20. 如何在Vaadin表中爲特定列設置字體大小?
- 21. 如何將DataGridView中的特定列設置爲0(如果它爲空)?
- 22. Sapui5:如何在智能表中設置初始排序順序?
- 23. 排序陣列中的特定順序
- 24. 僅在datagridview中更改特定列標題顏色
- 25. 如何在表單中按字母順序設置位置列網格?
- 26. VBA - 爲特定工作表設置順序頁碼
- 27. 如何從特定順序將特定列從一張複製到另一張?
- 28. 如何在pentaho報表設計器中爲交叉表設置排序順序?
- 29. 如何在MATLAB中按特定順序將行轉換爲列?
- 30. Java標籤順序:如何在java swing表中設置Tab順序
我不明白請編輯,顯示一些代碼或解釋更多 – 2013-07-22 16:48:10
您使用的是什麼樣的控件? @King King可能在正確的軌道上,但我會使用控件KeyDown Event,如果您使用的是GridView,那麼您應該能夠將其ID列的TabStop設置爲false。 – Bit
@ N4TKD你說得對,至少可以在'KeyDown'中處理'Tab',也許我們無法在'KeyDown'中處理的唯一密鑰就是'Enter',那就是你必須使用ProcessDataGridViewKey。 –