2013-04-03 9 views
9

Aspx sayfamda gridview kullanıyorum. Tek bir hücrede altı radyo düğmeli bir liste var.Radyo düğmesi listesinde belirli bir liste öğesini programlı olarak gizlemek mümkün mü?

Gizlenecek ilk radyo düğmesine ihtiyacım var. Bu programatik olarak nasıl elde edilir?

<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> 

Ben değerle Listesi Öğe = 0 gizli gerekmektedir. Bunu nasıl başarabilirim?

+2

spesifik ürün kullanmayan için farklı mantığı gerekirse bir 'RadioButtonList' ama tek [' RadioButtons'] (http: // msdn .microsoft.com/en-us/kütüphane/system.web.ui.webcontrols.radiobutton.aspx). “Panel” gibi bir konteynır kontrolü ve mizanpaj için uygun CSS kullanabilirsiniz. Kullanılabilir seçenekler listesinden yalnızca bir seçim mümkün olduğunda ['GroupName'] (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.radiobutton.groupname.aspx) kullanın. . –

cevap

10

Evet, false onun Enabled özelliğini ayarlayarak birini gizleyebilirsiniz:

Rating.Items[0].Enabled = false; 

Düzenleme OP tarafından Yorum dayalı. Tamamen ondan kurtulmak için bunu yapmak gerekir:

Rating.Items.RemoveAt(0); 

ve bunu geri istediğinizde o zaman bunu yapmak gerekir:

Rating.Items.Insert(0, "0"); 
+0

Gizlemek için ihtiyacım var ... kodunuz radyo düğmesini –

+0

@ Coder'i devre dışı bırakır, daha sonra "Kaldır" a ihtiyacınız olacak ve 'İlgili' olduğunda 'Ekle'. –

+0

@Coder, lütfen düzenlememe bakın. –

2

DÜZENLEME: Tamam, ben içine kazılmış Bu biraz daha derine bakıp, .NET'i ayarladığınızda, RadioButtonList denetimini nasıl gerçekleştirdiğine bakın (her öğe için <td>'lu bir tablo).

bu deneyin: Bu düzgün şekilde çalışıyorsa

var bli = Rating.Items[ 0 ]; 
bli.Attributes.Add("hidden", "hidden"); 
+0

Gizlenmem gerekiyor ... kodunuz sadece radyo düğmesini kapatıyor –

+0

Radyo düğmesinin saklanması ve devre dışı bırakılması arasında gördüğünüz farkı açıklayabilir misiniz? –

+0

gizleme, radyasyonun ekranda görünmeyeceği anlamına gelir ... Devre dışı bırakılması, görünür olacağını ancak kontrol edilemediği anlamına gelir – Xavier

0

.

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

Örnek:

rdTypePackage.Items[1].Enabled = false; 
1
radioListID.Items[index].Enabled = true/false; 

100% çalışacaktır.

0

Eski iplik, bunu başarmak için olsa bunu yapabilirsiniz:

//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";