2011-06-24 57 views
0

我有我用下面的代碼中的數據源綁定一個單選按鈕列表,並將其顯示爲我所期望的結果:如何在每個具有序列號的單選按鈕列表項前面顯示額外的標籤?

dv.RowFilter = "VoteId = " + grdVote.DataKeys[e.Row.RowIndex].Value; 
      rdbList.DataSource = dv; 
      rdbList.DataTextField = "VoteOption"; 
      rdbList.DataValueField = "VoteOptionId"; 
      rdbList.DataBind(); 

現在我的問題是我怎麼能顯示出與每一個字母序列號單選按鈕列表items.in下面的圖片應該是「A」香蕉蘋果之前和「B」之前等等.....

extend radio button list to show serial number in front of each radio button list item

+0

@Flimzy編輯與錯title.i不想對它們進行排序。請閱讀carefully.and因您的編輯我的問題的標題及其描述小姐匹配 – rahularyansharma

回答

1

不幸的是,它不會是可能的單選按鈕列表除非您準備好將數據源更改爲以字母爲前綴的文本值(al儘管這也不會產生正確的佈局)。

一般來說,我不喜歡單選按鈕列表生成的標記(html),並建議使用中繼器以正確的語義html獲取佈局。例如,

<asp:Repeater runat="server" ID="optionList"> 
    <HeaderTemplate><ol class="optionList" type="A"></HeaderTemplate> 
    <ItemTemplate> 
    <li> 
     <input type="radio" name="VoteList" value='<%# Eval("VoteOptionId") %>' /> 
     <%# Eval("VoteOption") %> 
    </li> 
    </ItemTemplate> 
    <FooterTemplate></ol></FooterTemplate> 
</asp:Repeater> 

進入所選的單選按鈕,您可以用Request.Form["VoteList"]

編輯:如果你必須使用單選按鈕,這個想法的一個可能是修改文本,一旦名單已數據-界。例如,

protected void Page_PreRender(object sender, EventArgs e) 
{ 
    for (int i=0; i < rdbList.Items.Count; i++) 
    { 
     rdbList.Items[i].Text = Convert.ToChar(65 + i).ToString() + " " + rdbList.Items[i].Text; 
    } 
} 
+0

你的想法可觀,但我想用單選按鈕來做,我可以在單選按鈕列表中添加一個額外的控件,因爲它用表格tr td呈現,並且每個td列表項目都呈現爲輸入類型收音機+每個項目的一個標籤。所以我的想法是,我可以在單選按鈕列表數據綁定事件中添加一個額外的標籤。並設置其文本 – rahularyansharma

+0

@rahularyansharma,看我的編輯。 – VinayC

+0

我已經嘗試過它,而不是頁面預渲染我試了它在rdblist_Prerender和錯誤的是,它會給文本(標籤)前的字母,但我希望這些字母在單選按鈕圈(輸入類型無線電) – rahularyansharma

相關問題