linq2sql을 사용하여 단일 gridview 또는 gridpanel에 여러 테이블의 데이터를 표시하는 방법은 무엇입니까?

프리키 헌터

두 개의 SQL 테이블 Department 및 Lecturer가 있습니다.

Department: DepartmentID, Name
Lecturer: LecturerID, Name, DepartmentID

열이있는 테이블에 데이터를 표시하고 싶습니다.

Lecturer ID, Name and Department Name

Linq to Sql (람다 식 포함 또는 제외)을 사용하여 어떻게이 작업을 수행 할 수 있습니까? 도와 주셔서 정말 감사합니다. 감사합니다.

프리키 헌터

귀하의 답변 singhm0077에 감사드립니다. 나는 join 과 약간 혼란스럽고 불행히도 생각대로 작동하지 않습니다. 다행히도 다른 해결책을 찾았습니다.

더 열이 없기 때문에 에 DepartmentName 테이블의 강사 , 나는의 부분 클래스를 만들어야했습니다 강사 나는의 데이터 바인딩하려고했기 때문에 테이블을 강사 나 속성 정의, 테이블과 에 DepartmentName 데이터베이스 테이블에 열을 추가했다.

public partial class Lecturer
    {
        public string DepartmentName
        {
            get;
            set;
        }
    }

디자인 부분은 다음과 같습니다.

<ext:GridPanel ID="grid1" runat="server" Width="600px" Header="false">
            <Store>
                <ext:Store ID="store1" runat="server">
                    <Model>
                        <ext:Model ID="model1" runat="server">
                            <Fields>
                                <ext:ModelField Name="LecturerID" Type="Int" />
                                <ext:ModelField Name="Name" Type="String" />
                                <ext:ModelField Name="DepartmentName" Type="String" />
                            </Fields>
                        </ext:Model>
                    </Model>
                </ext:Store>
            </Store>
            <ColumnModel>
                <Columns>
                    <ext:Column ID="colLecturerID" runat="server" Flex="1" DataIndex="LecturerID" Text="Lecturer ID"></ext:Column>
                    <ext:Column ID="colName" runat="server" Flex="1" DataIndex="Name" Text="Name"></ext:Column>
                    <ext:Column ID="colDepartmentName" runat="server" Flex="1" DataIndex="DepartmentName" Text="Department Name"></ext:Column>
                </Columns>
            </ColumnModel>
        </ext:GridPanel>

그리고 linq2sql을 사용하는 코드는 다음과 같습니다.

protected void Page_Load(object sender, EventArgs e)
        {
            if (!X.IsAjaxRequest)
            {
                this.store1.DataSource = GetDataToBind();
                this.store1.DataBind();
            }
        }

        private List<Lecturer> GetDataToBind()
        {
            DataBaseDataContext db = new DataBaseDataContext();

            List<Lecturer> lstLecturers = db.Lecturers.OrderBy(x => x.LecturerID).ToList();
            foreach (Lecturer lecturer in lstLecturers)
            {
                lecturer.DepartmentName = lecturer.Department.Name;
            }

            return lstLecturers;
        }

마지막으로 데이터베이스가 다음과 같은 경우 :

강사 테이블부서 테이블

출력은 다음과 같이 나타납니다.

여기에 이미지 설명 입력

그래도 최선의 방법인지 아닌지는 모르겠습니다. 그러나 항상 작동합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관