2010-12-18 39 views
0

我正在使用VS 2010.我有一個很少有模板列的GridView。我希望第二列完全不可見,但仍然存在,因此JavaScript將能夠看到它的價值。 有人知道如何設置這個寬度值嗎?GridView列寬

感謝

回答

2

將在第一列HiddenField,把你需要把它放在第二列在裏面,而不是創建第二列的值。

1

問題:

你的問題的事實,當你隱藏數據綁定的GridView的列,其界值不再可用起源,如果你試圖訪問它,你會得到一個空字符串。

解決辦法:

允許在你的GridView 2個事件:

的RowDataBound:在這種情況下,您可以訪問隱藏的單元格的值(隱藏它尚未之前)

protected void MyGridView_RowDataBound(Object sender, GridViewRowEventArgs) 
{ 
    // Here you store the value 
    this.sID = e.Row.Cells[1].Text; 
} 

RowCreated:在這種情況下,您隱藏單元格,將其寫入事件處理程序中:

protected void MyGridView_RowCreated(Object sender, GridViewRowEventArgs) 
{ 
    // then you hide the cell (Only the cell not the column) 
    e.Row.Cells[1].Visible = false; 
} 

在這些代碼中,在我們將所需的值保存到另一個變量/數組後,我們可以很容易地隱藏單元格。您可以將該值放入隱藏的輸入中,以便從JavaScript訪問值。

+0

這是手頭問題的主要矯枉過正。一個帶有隱藏字段的GridView模板字段會簡單得多。 – jwiscarson 2010-12-18 18:59:24