2016-04-06 3 views
0

В моем GridView я использую w3schools css. Внутри сетки я хочу скрыть один столбец (BoundField), но не установив «Visible = false», поскольку я хочу получить доступ к этим данным столбцов.GridView css Clashing with BoundField css

Для BoundField (столбец, который я хочу скрыть) Я использую css, чтобы скрыть его, указав «» и HeaderStyle-cssClass = «hidden».

Когда я применяю w3schools css в виде сетки, он переопределяет css в BoundField.

Если я удалю w3schools css, то BoundField css отлично работает, но я потерял дизайн GridView.

Как я могу заставить оба css работать вместе? Если это невозможно, то как я могу скрыть этот столбец, не используя «Visible = false».

Предоставляя код ниже. В головной секции: <script type="text/css"> .hiddenGV { display:none; } </script>

В разделе тела

`<asp:GridView ID="GridView1" runat="server" class="w3-table w3-striped w3-bordered w3-card-4 gridtop" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AutoGenerateColumns="False" DataKeyNames="Project_ID,Instance_ID" DataSourceID="SqlDataSource1"> 
     <Columns> 
      <asp:BoundField DataField="Project_ID" HeaderText="Project_ID" ReadOnly="True" SortExpression="Project_ID" HeaderStyle-CssClass="hiddenGV" ><ItemStyle CssClass="hiddenGV"/></asp:BoundField> 

`

ответ

1

Пару вещей здесь не так. Ваш класс css в голове неверен, поскольку он должен быть в теге стиля. В BoundField вам не нужно добавлять тег ItemStyle, потому что ItemStyle является свойством BoundField. Чтобы скрыть столбец и все еще быть в состоянии получить доступ к значению, используйте этот CSS в голове

<style type="text/css"> 
     .hiddenGV 
     { 
     visibility :hidden; 
     } 
    </style> 

Тогда в BoundField установить CSS для заголовков и данных строк, как это:

<asp:BoundField DataField="Project_ID" HeaderText="Project_ID" ReadOnly="True" SortExpression="Project_ID" ItemStyle-CssClass="hiddenGV" HeaderStyle-CssClass="hiddenGV"/></asp:BoundField> 
+0

Привет, я использовал ваше решение, и оно работает. Спасибо, что указали

0

I решил проблему, написав код вместо css.

Я использовал функцию OnRowCreated имущественного GridView и выбрал строку с помощью

e.Row.Cells[0].Visible = false; 

С этой колонкой также скрытой и я все еще могу получить доступ к нему в коде позади.