WebSurfer's Home

トップ > Blog 1   |   Login
Filter by APML

GridView の列名の取得

by WebSurfer 2. August 2010 12:35

GridView の n 番目(スタートは n = 0)の列名は、通常、GridView1.HeaderRow.Cells[n].Text のようにして取得できますが、AllowSorting プロパティが true になっていると、それでは取得できません(結果は "" になります)。

何故なら、GridView1.HeaderRow.Cells[n] には LinkButton コントロールが配置され、LinkButton の Text プロパティに列名が設定されるからです。

その場合は、以下のようにして取得できます。

string headerText;
foreach (Control ctl in GridView1.HeaderRow.Cells[n].Controls)
{
  if (ctl is LinkButton)
  {
    headerText = ((LinkButton)ctl).Text; 
    break;
  }
}

たぶん、GridView1.HeaderRow.Cells[n].Controls[0] が LinkButton になると思いますが、保証の限りではないので、ちょっと冗長かもしれませんが、上記のようにループで回して取得するように考えました。

Tags: ,

ASP.NET

About this blog

2010年5月にこのブログを立ち上げました。その後 ブログ2 を追加し、ここは ASP.NET 関係のトピックス、ブログ2はそれ以外のトピックスに分けました。

Calendar

<<  June 2021  >>
MoTuWeThFrSaSu
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

View posts in large calendar