2016-04-06 15 views
0

私のGridViewで私はw3schools cssを使用しています。グリッド表示の中で、私は1つの列(BoundField)を非表示にしたいが、その列データにアクセスするためには "Visible = false"を設定しない。GridView css BoundField CSSでクラッシュする

BoundField(私が非表示にしたいコラム)では、 ""とHeaderStyle-cssClass = "hidden"を付けて隠すのにcssを使用しています。

グリッドビューでw3schoolsのCSSを適用すると、BoundFieldのCSSが上書きされます。

私がw3schoolsのCSSを削除した場合、BoundFieldのCSSはうまく動作しますが、GridViewのデザインが失われました。

どのようにして両方のCSSを連携させることができますか?可能でない場合、どうすれば "Visible = false"を使わずにその列を非表示にできますか?

下記のコードを入力してください。ヘッド部には :本体部

`<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

ここで間違っ事のカップルで <script type="text/css"> .hiddenGV { display:none; } </script>

。頭の中のあなたのcssクラスは、それがスタイルタグ内にあるという点では間違っています。 BoundFieldでは、ItemStyleがBoundFieldのプロパティであるため、ItemStyleタグを追加する必要はありません。列を非表示にし、依然として値にアクセスすることができ、BoundFieldに続いて頭部に

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

このCSSを使用することは、このようなヘッダとデータ行の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の代わりにコードを記述することで問題を解決しました。

私はGridViewコントロールのOnRowCreatedプロパティ関数を使用し、これによっても隠されているカラムを

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

を使用して行を選択し、私はまだ背後にあるコードでそれにアクセスすることができます。

関連する問題