2010-02-26 65 views
2

我有一個datagridview,一旦我用數據源填充視圖,我隱藏了我不需要的列。出於某種原因,第一列沒有隱藏。我已經檢查過列名並且它們匹配,並且第二行執行得很好,隱藏了EVENTID的列。我甚至做了一個messagebox.show(dgvTourOther.Columns(「OTHERID」)。name),它返回了正確的名稱。第一列不隱藏在datagridview中

dgvTourOther.Columns("OTHERID").Visible = False 
dgvTourOther.Columns("EVENTID").Visible = False 

任何想法可能導致datagridview不隱藏列?這就像其他一些財產正在鎖定該列..

傳遞的值都是字符串。我在其他3個datagridviews上做了這個,但對於某些原因,這個gridview的表現有所不同。我將嘗試重新排列這些列,看看是否有幫助。

+0

列中不會隱藏的數據類型是什麼? – Nick 2010-02-26 14:10:45

回答

4

我記得幾年前在一個項目上有這個問題。我記得有兩種可能的解決方案。第一個是將.Visible設置代碼從構造函數中移出(假設您現在擁有它)並將其轉換爲Form_Load事件。

第二個解決方案(可能是我真正工作的)是將我想要隱藏的列移動到網格的末端(右側)。我知道愚蠢。

+0

我重新安排了gridview上的列,現在他們都隱藏得很好。我保持列名相同,但只是重新排列它們,並將兩個ID列放在最後。 我仍然想看看他們是否還有其他事情我不知道。 – JPJedi 2010-02-26 15:02:23

+0

@JPJedi - 就像我說的...我記得幾年前的一個項目,所以細節很模糊。我只記得它讓我感到沮喪,我從來沒有覺得我找到了一個很好的理由。它可能只是一個錯誤。 – Nick 2010-02-26 15:56:27

1

datagridview中的列的名稱是否與數據源中的列的名稱相同。這可能是此問題的原因

0

這發生在我們清除Datagridview列並設置columns屬性時。在這種情況下,在定義列屬性後設置DGV源。

  dgvProdGrp.DataSource = Nothing 
    With dgvProdGrp.Columns 
     .Clear() 
     .Add(clsCommon.setTextColumn("prdg_id", "prdg_id", 0, 0, True, DataGridViewContentAlignment.MiddleLeft, "")) 
     .Add(clsCommon.setTextColumn("prdg_name", "Group Name", 200, 1, True, DataGridViewContentAlignment.MiddleLeft, "")) 
    End With 
    dgvProdGrp.DataSource = objDB.View_ProdGrp(1)