2017-05-19 1 views
1

아래 그림과 같은 라디오 버튼 maxtrix를 만들고 싶습니다!ASP.NET - 라디오 버튼 maxtrix를 만드는 방법

enter image description here

I 사용 Repeate 시도했지만, 데이터는 행과 열 사이에 상이하다. 그래서 내가 중계기에 대한 데이터 소스를 설정할 수 없습니다. 전화 Eval("row")에 의해 그룹이 목록에 대한 방법 및 리피터에 대한 설정 데이터 소스, 쇼 데이터 INT 리피터을 가지고 Eval("column")

var lstMatrixAnswer = JsonConvert.DeserializeObject<Answer>(json); //Get from json format 
    var row = lstMatrixAnswer.row.Select(p => p.row).ToList(); //Row datasource 
    var col= lstMatrixAnswer.column.Select(p => p.answer + "///" + p.mark).ToList(); //Column datasource (i want radio values is "mark") 

public class AnswerCol 
{ 
    public string answer { get; set; } 
    public int mark { get; set; } 
} 

public class AnswerRow 
{ 
    public string row { get; set; } 
} 

public class Answer 
{ 
    public List<AnswerRow> row { get; set; } 
    public List<AnswerCol> column { get; set; } 
} 

Eval("mark") //이 중계기,하지만 난이 불가능 있는지 확인합니다.

 <asp:Repeater ID="rptAnswer" runat="server"> 
            <HeaderTemplate> 
             <table class="table table-striped table-hover table-bordered dataTable" id="tblObject"> 
              <thead> 
               <th style="vertical-align: middle"><%#Eval("col")%></th> 
              </thead> 
              <tbody> 
            </HeaderTemplate> 
            <ItemTemplate> 
             <tr> 
              <td> 
               <%#Eval("answer") %> 
              </td> 
              <td> 
               <input id="Radio1" type="radio" runat="server" value='<%#Eval("mark") %>' /> 
              </td> 
             </tr> 
            </ItemTemplate> 
            <FooterTemplate> 
             </tbody> 
        </table> 
            </FooterTemplate> 
           </asp:Repeater> 

== 만 내가 조금 밖에 일부를 게시하고 여기에
asp.net과 자바 스크립트를 사용하여 ==

+0

표시 할 cshtml을 표시 할 수 있습니까? – robjam

+0

업데이트가되었지만 불가능하다는 것을 확인했습니다. –

답변

1

내가 돌아 오는 길에 이런 식으로 뭔가를 짓을 읽어 주셔서 감사하고 당신을 위해 그 정도 희망

<table width="100%" style="border-collapse:collapse;text-align:center" cellpadding="2" border="0" class="qoptions"> 
        <tr style="font-weight:bold"> 
           <td align="left" width="15%">Function</td> 
           <td style="color:#b91d47; font-size:large;font-weight:bold; text-align:center">Highly Dissatisfied</td> 
           <td style="color:#b91d47; font-size:large;font-weight:bold; text-align:center">Dissatisfied</td> 
           <td style="color:#b91d47; font-size:large;font-weight:bold; text-align:center">Satisfied</td> 
           <td style="color:#b91d47; font-size:large;font-weight:bold; text-align:center">Highly Satisfied</td> 
           <td style="font-weight:bold;" align="right"><span style="padding-right:75px">Comments <span class="instructions">(optional)</span></span></td> 
          </tr> 

          <tr style="background-color:#FDE6EA" id="BST"> <%--id="F0Q1"--%> 
           <td align="left" id="F0Name" >BST</td> 
           <td><asp:RadioButton ID="rbQ1F0_1" runat="server" GroupName="Q1F0" /></td> 
           <td><asp:RadioButton ID="rbQ1F0_2" runat="server" GroupName="Q1F0" /></td> 
           <td ><asp:RadioButton ID="rbQ1F0_3" runat="server" GroupName="Q1F0" /></td> 
           <td><asp:RadioButton ID="rbQ1F0_4" runat="server" GroupName="Q1F0" /></td> 
           <td align="right"><asp:TextBox ID="txtQ1F0" runat="server" TextMode="MultiLine" Rows="2" Columns="35" onKeyUp="javascript:Count(this);" onChange="javascript:Count(this);" />&nbsp;</td> 
           <asp:HiddenField runat="server" ID="Q1F0Val" Value="" /> 
          </tr> 

          <tr class="altrow" id="F1Q2"> 
           <td align="left" id="F1Name">F1</td> 
           <td><asp:RadioButton ID="Q2F1_1" runat="server" GroupName="Q2F1" /></td> 
           <td><asp:RadioButton ID="Q2F1_2" runat="server" GroupName="Q2F1" /></td> 
           <td ><asp:RadioButton ID="Q2F1_3" runat="server" GroupName="Q2F1" /></td> 
           <td><asp:RadioButton ID="Q2F1_4" runat="server" GroupName="Q2F1" /></td> 
           <td align="right"><asp:TextBox ID="txtQ2F1" runat="server" TextMode="MultiLine" Rows="2" Columns="35" onKeyUp="javascript:Count(this);" onChange="javascript:Count(this);" />&nbsp;</td> 
           <asp:HiddenField runat="server" ID="Q2F1Val" Value="" /> 

           </tr> 
          <tr id="F2Q2"> 
           <td align="left" id="F2Name" >F2</td> 
           <td><asp:RadioButton ID="Q2F2_1" runat="server" GroupName="Q2F2" /></td> 
           <td><asp:RadioButton ID="Q2F2_2" runat="server" GroupName="Q2F2" /></td> 
           <td><asp:RadioButton ID="Q2F2_3" runat="server" GroupName="Q2F2" /></td> 
           <td><asp:RadioButton ID="Q2F2_4" runat="server" GroupName="Q2F2" /></td> 
           <td align="right"><asp:TextBox ID="txtQ2F2" runat="server" TextMode="MultiLine" Rows="2" Columns="35" onKeyUp="javascript:Count(this);" onChange="javascript:Count(this);" />&nbsp;</td> 
           <asp:HiddenField runat="server" ID="Q2F2Val" Value="" /> 
          </tr> 
          <tr class="altrow" id="F3Q2"> 
           <td align="left" id="F3Name" >F3</td> 
           <td><asp:RadioButton ID="Q2F3_1" runat="server" GroupName="Q2F3" /></td> 
           <td><asp:RadioButton ID="Q2F3_2" runat="server" GroupName="Q2F3" /></td> 
           <td><asp:RadioButton ID="Q2F3_3" runat="server" GroupName="Q2F3" /></td> 
           <td><asp:RadioButton ID="Q2F3_4" runat="server" GroupName="Q2F3" /></td> 
           <td align="right"><asp:TextBox ID="txtQ2F3" runat="server" TextMode="MultiLine" Rows="2" Columns="35" onKeyUp="javascript:Count(this);" onChange="javascript:Count(this);"/>&nbsp;</td> 
           <asp:HiddenField runat="server" ID="Q2F3Val" Value="" /> 
          </tr> 
          <tr id="F4Q2"> 
           <td align="left" id="F4Name" >F4</td> 
           <td><asp:RadioButton ID="Q2F4_1" runat="server" GroupName="Q2F4" /></td> 
           <td><asp:RadioButton ID="Q2F4_2" runat="server" GroupName="Q2F4" /></td> 
           <td><asp:RadioButton ID="Q2F4_3" runat="server" GroupName="Q2F4" /></td> 
           <td><asp:RadioButton ID="Q2F4_4" runat="server" GroupName="Q2F4" /></td> 
           <td align="right"><asp:TextBox ID="txtQ2F4" runat="server" TextMode="MultiLine" Rows="2" Columns="35" onKeyUp="javascript:Count(this);" onChange="javascript:Count(this);"/>&nbsp;</td> 
           <asp:HiddenField runat="server" ID="Q2F4Val" Value="" /> 
          </tr> 
          <tr class="altrow" id="F5Q2"> 
           <td align="left" id="F5Name" >F5</td> 
           <td><asp:RadioButton ID="Q2F5_1" runat="server" GroupName="Q2F5" /></td> 
           <td><asp:RadioButton ID="Q2F5_2" runat="server" GroupName="Q2F5" /></td> 
           <td><asp:RadioButton ID="Q2F5_3" runat="server" GroupName="Q2F5" /></td> 
           <td><asp:RadioButton ID="Q2F5_4" runat="server" GroupName="Q2F5" /></td> 
           <td align="right"><asp:TextBox ID="txtQ2F5" runat="server" TextMode="MultiLine" Rows="2" Columns="35" onKeyUp="javascript:Count(this);" onChange="javascript:Count(this);"/>&nbsp;</td> 
           <asp:HiddenField runat="server" ID="Q2F5Val" Value="" /> 
          </tr> 
          <tr id="F6Q2"> 
           <td align="left" id="F6Name" >F6</td> 
           <td><asp:RadioButton ID="Q2F6_1" runat="server" GroupName="Q2F6" /></td> 
           <td><asp:RadioButton ID="Q2F6_2" runat="server" GroupName="Q2F6" /></td> 
           <td><asp:RadioButton ID="Q2F6_3" runat="server" GroupName="Q2F6" /></td> 
           <td><asp:RadioButton ID="Q2F6_4" runat="server" GroupName="Q2F6" /></td> 
           <td align="right"><asp:TextBox ID="txtQ2F6" runat="server" TextMode="MultiLine" Rows="2" Columns="35" onKeyUp="javascript:Count(this);" onChange="javascript:Count(this);"/>&nbsp;</td> 
           <asp:HiddenField runat="server" ID="Q2F6Val" Value="" /> 
          </tr> 
          <tr class="altrow" id="F7Q2"> 
           <td align="left" id="F7Name" >F7</td> 
           <td><asp:RadioButton ID="Q2F7_1" runat="server" GroupName="Q2F7" /></td> 
           <td><asp:RadioButton ID="Q2F7_2" runat="server" GroupName="Q2F7" /></td> 
           <td><asp:RadioButton ID="Q2F7_3" runat="server" GroupName="Q2F7" /></td> 
           <td><asp:RadioButton ID="Q2F7_4" runat="server" GroupName="Q2F7" /></td> 
           <td align="right"><asp:TextBox ID="txtQ2F7" runat="server" TextMode="MultiLine" Rows="2" Columns="35" onKeyUp="javascript:Count(this);" onChange="javascript:Count(this);"/>&nbsp;</td> 
           <asp:HiddenField runat="server" ID="Q2F7Val" Value="" /> 
          </tr> 
          <tr id="F8Q2"> 
           <td align="left" id="F8Name" >F8</td> 
           <td><asp:RadioButton ID="Q2F8_1" runat="server" GroupName="Q2F8" /></td> 
           <td><asp:RadioButton ID="Q2F8_2" runat="server" GroupName="Q2F8" /></td> 
           <td><asp:RadioButton ID="Q2F8_3" runat="server" GroupName="Q2F8" /></td> 
           <td><asp:RadioButton ID="Q2F8_4" runat="server" GroupName="Q2F8" /></td> 
           <td align="right"><asp:TextBox ID="txtQ2F8" runat="server" TextMode="MultiLine" Rows="2" Columns="35" onKeyUp="javascript:Count(this);" onChange="javascript:Count(this);"/>&nbsp;</td> 
           <asp:HiddenField runat="server" ID="Q2F8Val" Value="" /> 
          </tr> 

         </table> 

예를가는 일을 계속 : Q2F8_1는 질문이 기능 8을 표시하고 _1 높은 disatisfied 평가된다.

자바 스크립트를 사용하여 1, 2, 3 또는 4를 숨겨진 필드에 저장하면 키에 대한 등급이됩니다.

C# 코드의 숨겨진 필드에 액세스하여 코드를 재생하십시오.

+0

감사합니다. 그러나 데이터가 동적입니다! –

+0

아무 문제 없어, 그것의 어려운 O 동적으로 해당 필드를 생성합니다 – Saurabh

+0

하지만 테이블에 내 데이터를 채우는 방법을 모르겠어요 : ( –

관련 문제