- PR -

ASP.NET GridView の ItemTamplate 内のコントロールを動的に変更したい

1
投稿者投稿内容
大ベテラン
会議室デビュー日: 2003/09/16
投稿数: 193
お住まい・勤務地: 千葉県
投稿日時: 2007-12-27 20:43
お世話になっております

 GridView の ItemTamplate 内の バインド項目を
 動的に、色を変えたり 非表示にしたり とかって
 できないのでしょうか?

<ItemTemplate>
<asp:Label ID="Lbl_CD_R" runat="server" Text='<%# Bind("Code1") %>'></asp:Label>
<asp:Label ID="Lbl_N1_R" runat="server" Text='<%# Bind("Name1") %>'></asp:Label>
<asp:Label ID="Lbl_N2_R" runat="server" Text='<%# Bind("Name2") %>'></asp:Label>
</ItemTemplate>


Lbl_CD_R の値で Lbl_N1_R のみ非表示 にしたり 色のみ変えたり
Lbl_CD_R の値で Lbl_N2_R を "******" に 強制的に変更する方法なんて
ないのでしょうか?

PreRender イベントにて GridView.Rows[0].Cells[0] 内の「Lbl_N1_R」を
FndControl にて 取得するところまでは出来たのですが
この コントロールには Visible までは あったのですが・・・・

c#の仕様が解ってない?

2003のDatagrid の VB.NET から移植しようとして
根をあげてます ・・・

よろしくお願いいたします

2003 での Datagrid での VB.NET
コード:
    Private Sub datagrid1_ItemDataBound(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles Datagrid1.ItemDataBound

        Select Case e.Item.ItemType
            Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.SelectedItem, ListItemType.EditItem
                Dim Lbl_CD As Label = e.Item.Cells(0).FindControl("Lbl_CD_R")
                Dim Lbl_N1 As Label = e.Item.Cells(0).FindControl("Lbl_N1_R")
                Dim Lbl_N2 As Label = e.Item.Cells(0).FindControl("Lbl_N2_R")

                If Lbl_CD.Text = "00000" Then
                    Lbl_N1.Visible = False
                    Lbl_N2.Visible = True
                Else 
                     If Lbl_CD.Text = "11111" Then
                         Lbl_N1.Visible = False
                         Lbl_N2.Visible = True
                         Lbl_N2.Text = "*****"
                     Else 
                         Lbl_N1.Visible = True
                         Lbl_N2.Visible = True
                     End If
                End If
        End Select
    End Sub


くみちょ
会議室デビュー日: 2007/12/27
投稿数: 3
投稿日時: 2007-12-27 21:58
こんにちは

引用:
FndControl にて 取得するところまでは出来たのですが
このコントロールにはVisibleまではあったのですが・・



キャストしてないからでしょうね、きっと



C#のキャストってこんな感じ?
(Label)GridView.Rows[0].Cells[0].FndControl("Lbl_N1_R")




大ベテラン
会議室デビュー日: 2003/09/16
投稿数: 193
お住まい・勤務地: 千葉県
投稿日時: 2007-12-27 22:21
きゃーーん

 情けない
 ありがとうございました!!!
 キャストしたらうまくいきまひたーー

 
1

スキルアップ/キャリアアップ(JOB@IT)