2010-12-18 15 views
0

私はVS 2010を使用しています。私はいくつかのテンプレート列を持つGridViewを持っています。私は第2列が全く見えないようにしたいが、まだ存在しているので、JavaScriptはその価値を見ることができるだろう。 誰かがこの幅の値を設定する方法を知っていますか?GridViewの列幅

おかげ

答えて

2

場所最初の列のHiddenFieldとあなたの代わりに第二のカラムを作成することで2番目の列にそれを置く必要がある値を置きます。

1

問題:

あなたの問題は、あなたがデータバインドされたGridViewの列を非表示にする場合、その有界値はもはや利用可能であるという事実に由来し、あなたがそれにアクセスしようとした場合は、空の文字列を取得します。

ソリューション:

RowDataBound:このイベントでは、あなたが(まだそれを隠す前に)隠されたセルの値にアクセスすることができます

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

があなたのGridView内で2つのイベントを有効にします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