2010-10-08 2 views

ответ

10

Вы можете скрыть столбец, установив его свойство CssClass, например: атрибут

<style> 
.hidden {display:none;} 
</style> 

... 

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:BoundField DataField="Id" ItemStyle-CssClass="hidden" 
      HeaderStyle-CssClass="hidden" /> 
     <asp:BoundField DataField="Title" /> 
    </Columns> 
</asp:GridView> 
+0

Все ответы были правильными, но я дал тик на это, так как он был более полно ответил. –

1

Добавить к нему свойство CSS display:none. Это будет невидимо, но все еще присутствует в разметке.

Однако это небезопасно, так как клиент может разблокировать этот столбец, используя такие инструменты, как FireBug, который позволяет переопределять свойства.

+0

Не волнуйтесь Theres ничего безопасного здесь. Итак, где я могу применить этот стиль? Элемент шаблона? Это была моя первоначальная реакция, но я не мог заставить ее вступить в силу. –

3

Item

ItemStyle-CssClass="hidden" 

CSS класс

.hidden{ display: none; } 
2

Это то, что я сделал. Я создал скрытое поле внутри TemplateField в .aspx страницы

<asp:TemplateField> 
    <ItemTemplate> 
    <asp:HiddenField ID="ITEM_VAL" runat="server" Value='<%# Bind("ITEM_VAL") %>' /> 
    </ItemTemplate> 
</asp:TemplateField> 

Затем в коде файла -

protected Sub gvHist_RowDataBound() 
    Dim val as Integer 
    Dim hiddenCol As HiddenField = e.Row.FindControl("ITEM_VAL") 
    val = Convert.ToInt32(hiddenCol.Value) 
End Sub