none
GridViewの非表示列データを参照できない RRS feed

  • 質問

  • さとと申します。

    2回目の質問です。

     

    GridViewで非表示にしている列を、下記構文で参照できません。

     

    <asp:boundfield datafield="ShiryoCode" VISIBLE="FALSE"/>

     

       Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
            If (e.Row.RowType = DataControlRowType.DataRow) Then
                If e.Row.Cells(1).Text = "APSM010" Then ←「ここです。」
                    e.Row.Cells(0).Controls(0).Visible = False
                Else
                    e.Row.Cells(0).Attributes("onclick") = "return confirm('追加しますか?');return false;"
                End If
            End If
        End Sub

     

    何か方法がないでしょうか?

     

    よろしくお願いします。

    2007年6月12日 10:05

回答

すべての返信

  • 非表示にしちゃうと内部的にそのデータを持たなくなるので、方法は次のようなものぐらい。

    http://gridviewguy.com/ArticleDetails.aspx?articleID=178

     

    2007年6月12日 10:31
  •   どっとねっとふぁん 様

     

    回答頂きましてありがとうございます。

    下記のようにプログラムを修正して問題解決しました。

     

              <asp:TemplateField Visible="False">
                <ItemTemplate>
                <asp:Label ID="ShiryoCode" runat="server" Text='<%# Eval("ShiryoCode") %>' />
                </ItemTemplate>
              </asp:TemplateField>

     

     

        Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
            If (e.Row.RowType = DataControlRowType.DataRow) Then
                If CType(e.Row.FindControl("ShiryoCode"), Label).Text = "APSM010" Then
                    e.Row.Cells(0).Controls(0).Visible = False
                Else
                    e.Row.Cells(0).Attributes("onclick") = "return confirm('追加しますか?');return false;"
                End If
            End If
        End Sub

     

    ありがとうございました。

    2007年6月12日 11:32