2016-03-21 2 views
0

私はデータをgridviewにバインドしようとしています。私の列には、値のリストを含む2つの列がありますが、私のgridviewは2つの列のデータを表示しません。私はそれで間違って何をしているのですか? これはこれは、GridViewのための私のコードですGridviewの値のリストを表示

[DataObjectMethod(DataObjectMethodType.Select, false)] 
     public List<ListCourseByProgram> GetCourseByProgram(string programID) 
     { 
      int intProgramID = Int32.Parse(programID); 
      using (HiveMindContext context = new HiveMindContext()) 
      { 

       var results = from data in context.Courses 
           where data.ProgramID == intProgramID 
           select new ListCourseByProgram() 
           { 
            CourseID = data.CourseID, 
            ProgramID = intProgramID, 
            CourseName = data.CourseName, 
            Active = data.Active, 
            Credit = data.Credit, 
            Pre_Requisites = data.Pre_Requisites, 
            EquivCourseName = from equiName in data.Equivalencies 
                where data.CourseID == equiName.CourseID 

               select new CourseNameEquivalency() 
               { 
                EquivCourseName = equiName.EquivCourseName, 

               }, 
            EquivCourseID = from equiID in data.Equivalencies 
                where data.CourseID == equiID.CourseID 

               select new CourseIDEquivalency() 
               { 

                EquivCourseID = equiID.EquivCourseID 
               } 

           }; 
       return results.ToList(); 

      } 
     } 

griviewコントローラ」のための私のコードです:

<asp:GridView ID="Courses_Grid" runat="server" AutoGenerateColumns="False" Width="700px" > 

    <Columns> 
     <asp:TemplateField Visible="true"> 
        <HeaderTemplate> 
         CourseID 
        </HeaderTemplate> 
        <ItemTemplate> 
         <asp:Label ID="lblCourseID" runat="server" Text= '<%#Eval("CourseID") %>'> </asp:Label> 

        </ItemTemplate> 
     </asp:TemplateField> 


     <asp:BoundField DataField="ProgramID" HeaderText="ProgramID" SortExpression="ProgramID"></asp:BoundField> 
     <asp:BoundField DataField="CourseName" HeaderText="CourseName" SortExpression="CourseName"></asp:BoundField> 
     <asp:CheckBoxField DataField="Active" HeaderText="Active" SortExpression="Active"></asp:CheckBoxField> 
     <asp:BoundField DataField="Credit" HeaderText="Credit" SortExpression="Credit"></asp:BoundField> 
     <asp:BoundField DataField="Pre_Requisites" HeaderText="Pre_Requisites" SortExpression="Pre_Requisites"></asp:BoundField> 
     <%--<asp:BoundField DataField="EquivCourses" HeaderText="Equivalency" SortExpression="EquivCourses"></asp:BoundField>--%> 

     <asp:TemplateField Visible="true"> 
      <HeaderTemplate> 
       EquivalencyCourseName 
      </HeaderTemplate> 
      <ItemTemplate>    

       <asp:Repeater ID="CourseEquivRepeater" runat="server" DataSource='<%#Eval("EquivCourseNames")%>'> 
        <ItemTemplate> 
         <%# (Container.ItemIndex+1)+"."+ Container.DataItem %><br /> 
        </ItemTemplate>                   
       </asp:Repeater> 
      </ItemTemplate> 
     </asp:TemplateField> 

     <asp:TemplateField Visible="true"> 
      <HeaderTemplate> 
       EquivalencyCourseID 
      </HeaderTemplate> 
      <ItemTemplate>   
       <asp:Repeater ID="CourseEquivRepeater2" runat="server" DataSource='<%#Eval("EquivCourseIDs")%>'> 
        <ItemTemplate> 
         <%# (Container.ItemIndex+1)+"."+ Container.DataItem %><br /> 
        </ItemTemplate>                   
       </asp:Repeater> 
      </ItemTemplate> 
     </asp:TemplateField> 

    </Columns> 

そして、これは私のgidviewの写真ですenter image description here

答えて

0

は、私はあなたが修正する必要があると思いますあなたのお問い合わせ

+1

感謝。しかし、これらのクエリは値のリストを選択するために使用され、EquivCourseNameおよびEquivCourseIDのデータ型はIenumerable <>です。だから私は彼らの値のリストを返す必要があると思う – Kranatos

+0

これは私のコントローラのためのDTOsクラスです: public class ListCourseByProgram { public int CourseID {get;セット; } public int ProgramID {get;セット; } 公開ストリングCourseName {get;セット; } public boolアクティブ{get;セット; } 公開小数点クレジット{get;セット; } 公開ストリングPre_Requisites {get;セット; } パブリックIEnumerable EquivCourseName {get;セット; } // public String EquivCourses {get;セット; } 公開IEnumerable EquivCourseID {get;}セット; } } – Kranatos

+0

グリッドを修正するか、昏睡区切りの結果を使用する –

0

私はすでに答えを得ました。ことウルド:あなたの答えのための私のリピータで

<asp:Repeater ID="CourseEquivRepeater" runat="server" DataSource='<%#Eval("EquivCourseNames")%>'> 
     <ItemTemplate> 
     <%# (Container.ItemIndex+1)+"."+ Container.DataItem + Eval("EquivCourseName") %><br /> 
     </ItemTemplate>                   
    </asp:Repeater> 

関連する問題