2016-09-28 81 views
0

標題可能有點混亂,我會盡我所能來試圖解釋我的問題。更改列視圖DataGridView

我有一個可水平滾動的datagridview,當我點擊菜單欄上的一個按鈕時,我希望datagridview將視圖移動到指定列,同時仍然可以看到所有列。

因此,例如我點擊Fish,然後datagridview應該滾動/定位到列中第一次提到Fish以顯示與Fish相關的所有視圖的一部分,同時仍然保持所有其他列不相關魚和可見。

我想知道的是,視圖的位置的移動有可能做到嗎?我不知道要搜索什麼,或多或少的搜索結果包括重新排列列,我不想。

+0

你究竟想要達到什麼目的?你想滾動到包含魚的列?此外,這取決於魚是否存在於只列或多列... – A3006

+0

對不起,我忘了提及它應該滾動到「列名」魚。不是包含單詞Fish的單元格。魚列將會是'魚名稱','魚種','魚性別'等等......所以我希望它滾動到'魚名字'。 – Kingler

回答

0

對於DataGridView窗戶形式 ---給你cell到Particuler 標識。 就像你要分配與Fish然後

一個 column
row.Cells["Name"].Value = Fish.Id; 

,然後clickeventfocus這個ID

注意: -爲更好的解決方案發布您的問題與您的code 謝謝

0

fish替換爲您的搜索文本,並試用它。

List<DataGridViewColumn> Cols = dataGridView1.Columns.Cast<DataGridViewColumn>().Where(c => c.HeaderText.Contains("fish")).ToList(); 

      if (Cols.Count > 0) 
      { 
       dataGridView1.FirstDisplayedScrollingColumnIndex = Cols[0].Index; 
      } 

上面的代碼將水平向下滾動datagridview以在列名中顯示搜索文本。