グリッドビューがデータバインドされた後、列の幅を取得する必要があるグリッドビューがあります。グリッドビューがバインドされているデータテーブルの列が固定されないため、AutoGenerateColumns=true にする必要があります。私が抱えている問題は、AutoGenerateColumns が true の場合、gridview 列のコレクションが作成されないことです。グリッドビューがデータバインドされた後、各列の幅を取得できる方法はありますか? RowDataBound を使用してテーブルセルを調べてみましたが、すべての列の幅が 0 です。
4552 次
2 に答える
3
列の幅を特定のサイズに設定していない限り(そうではありません)、少なくともrender Page_Renderイベントが発生するまで、生成された列の幅を知ることはできません。コントロールのhtmlはそれまで存在せず、ページがhtmlにレンダリングされ、添付されたcssが処理されるまで、その幅を知ることはできません。
于 2010-01-26T04:28:21.237 に答える
0
おそらく、これはコントロールのライフ サイクルの初期段階にあり、GridView のプロパティにアクセスできません。DataBound イベントで GridView の列幅にアクセスしようとしましたか? 詳細については、ASP.NET ページ ライフ サイクルの概要を参照してください。
データバインド イベント:
このイベントは、データ バインド コントロールでのデータ バインディング操作の終了を示します。GridView コントロールでは、すべての行とすべての子コントロールに対してデータ バインディングが完了します。このイベントを使用して、データ バインドされたコンテンツをフォーマットしたり、現在のコントロールのコンテンツの値に依存する他のコントロールでデータ バインドを開始したりします。
于 2010-01-26T03:44:45.603 に答える