web-dev-qa-db-ja.com

プログラムでradiobuttonlistの特定のリスト項目を非表示にすることは可能ですか?

Aspxページでgridviewを使用しました。1つのセルに6つのラジオボタンが水平に配置されたリストがあります。

最初のラジオボタンを非表示にする必要があります。プログラムでそれを達成する方法は?

<asp:GridView ID="CrowdRatingGrid" runat="server" AutoGenerateColumns="false" AllowPaging="true" PageSize="4" OnPageIndexChanging="CrowdRatingGrid_PageIndexChanging" ViewStateMode="Enabled">

<PagerSettings Mode="Numeric" PageButtonCount="4" />
<Columns>
<asp:TemplateField>
   <HeaderTemplate>
    Rating
    </HeaderTemplate>
    <ItemTemplate>
     <asp:RadioButtonList runat="server" ID="Rating" SelectedValue='<%# Bind("rating_id") %>'
                            RepeatDirection="Horizontal">
                            <asp:ListItem Value="0" />
                            <asp:ListItem Value="1" />
                            <asp:ListItem Value="2" />
                            <asp:ListItem Value="3" />
                            <asp:ListItem Value="4" />
                            <asp:ListItem Value="5" />
                        </asp:RadioButtonList>
                    </ItemTemplate>
                </asp:TemplateField>
         </Columns>
        </asp:GridView>

Value = 0のリストアイテムを非表示にする必要があります。どうすればこれを達成できますか?

10
user1503463

はい、 Enabled プロパティをfalseに設定することで非表示にできます:

Rating.Items[0].Enabled = false;

OPによるコメントに基づく編集。それを完全に取り除くには、これを行う必要があります:

Rating.Items.RemoveAt(0);

そして、あなたがそれを取り戻したいとき、あなたはこれをする必要があるでしょう:

Rating.Items.Insert(0, "0");
12
Mike Perrenoud

編集:わかりました。これをもう少し深く掘り下げて、水平に設定したときに.NETがRadioButtonListコントロールをどのようにレンダリングするかを確認します(各項目に<td>が付いたテーブルです)。

これを試して:

var bli = Rating.Items[ 0 ];
bli.Attributes.Add( "hidden", "hidden" );
3
Mike Devenney
radioListID.Items[index].Enabled = true/false;

100%動作します。

1
Ravi Gehlot

古いスレッドですが、これを実現するには次のことができます。

//Ensure the item is disabled    
rblRating.Items[0].Enabled = false;
//Ensure the item is not selected
rblRating.Items[0].Selected = false;
//next row of code is hiding your radio button list item through css
rblRating.Items[0].Attributes[HtmlTextWriterStyle.Visibility] = "hidden";
0
Gideon Mulder

正常に動作しています。

RadioButtonList.Items[index].Enable=True/False;

例:

rdTypePackage.Items[1].Enabled = false;
0
ramraj