DataGrid에서 innergrid를 바인딩하는 방법은 무엇입니까?

수퍼 유저

기본적으로 나는 여기에 새로운 데이터 바인딩입니다. 마크를 표시하기 위해 각 행에 내부 그리드를 삽입하려고했습니다. 아무도 이것을 달성하는 방법을 도울 수 있습니까?

XAML 코드 :

   <Grid>
    <DataGrid x:Name="dataGrid" AutoGenerateColumns="True" RowDetailsVisibilityMode="VisibleWhenSelected">  
        <DataGrid.RowDetailsTemplate>
            <DataTemplate>
                <DataGrid ItemsSource="{Binding marks}" AutoGenerateColumns="True"/>
            </DataTemplate>
        </DataGrid.RowDetailsTemplate> 
    </DataGrid>  
</Grid>

아래는 학생용 클래스와 마크 용 클래스 2 개를 포함하는 코드입니다.

암호:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        dataGrid.ItemsSource = GetStudentsInfo();
    }

    private List<Student> GetStudentsInfo()
    {
        List<Student> stdColl = new List<Student>();

        stdColl.Add(new Student() { ID = 1, Name = "AAA", marks = new Marks() { Sub1 = 75, Sub2 = 80, Sub3 = 90 } });
        stdColl.Add(new Student() { ID = 2, Name = "BBB", marks = new Marks() { Sub1 = 45, Sub2 = 50, Sub3 = 70 } });
        stdColl.Add(new Student() { ID = 3, Name = "CCC", marks = new Marks() { Sub1 = 35, Sub2 = 80, Sub3 = 60 } });
        stdColl.Add(new Student() { ID = 4, Name = "DDD", marks = new Marks() { Sub1 = 75, Sub2 = 40, Sub3 = 90 } });

        return stdColl;
    }
}
public class Student
{
    public int ID { get; set; }
    public string Name { get; set; }
    public Marks marks { get; set; }
}

public class Marks
{
    public int Sub1 { get; set; }
    public int Sub2 { get; set; }
    public int Sub3 { get; set; }
}
제임스 샘 피카

내부 데이터 그리드는 외부 데이터 그리드와 마찬가지로 목록에 바인딩해야합니다.

Mark 클래스 변경

public class Mark {

    public int Sub { get; set; }  

}

Mark속성을 목록으로 변경

public Marks marks { get; set; }

...에

public List<Mark> Marks { get; set; }

학생을 추가 할 때 List대신 새 학생을 제공하세요.Mark

stdColl.Add(new Student() { ID = 4, Name = "DDD", Marks = new List<Mark>() { new Mark(){ Sub = 90; } } });

그런 다음 바인딩에 대한 사소한 이름 변경

ItemsSource="{Binding Marks}"

이제 바인딩은 Marks클래스 내부의 속성을 찾습니다.Student

또 다른 권장 사항으로 MVVM 패턴과 사용 방법을 살펴보십시오.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

WPF에서 필드를 DataGrid에 바인딩하는 방법은 무엇입니까?

분류에서Dev

WPF DataGrid에서 행 헤더를 바인딩하는 방법은 무엇입니까?

분류에서Dev

Mutt에서 <Control> <Arrowkey>를 바인딩하는 방법은 무엇입니까?

분류에서Dev

ExtJ에서 리스너를 바인딩하는 방법은 무엇입니까?

분류에서Dev

Mutt에서 <Control> <Arrowkey>를 바인딩하는 방법은 무엇입니까?

분류에서Dev

Bash readline에서 'Enter 키'를 바인딩하는 방법은 무엇입니까?

분류에서Dev

Monotouch에서 NSObject <CBCentralManagerDelegate, CBPeripheralDelegate>를 바인딩하는 방법은 무엇입니까?

분류에서Dev

DataGrid를 더 많은 컬렉션에 바인딩하는 방법은 무엇입니까?

분류에서Dev

Timestamp를 RowMapper로 Long에 바인딩하는 방법은 무엇입니까?

분류에서Dev

Blazor : Nullable 개체를 <select>에 바인딩하는 방법은 무엇입니까?

분류에서Dev

ts 변수를 html에 바인딩하는 방법은 무엇입니까?

분류에서Dev

exit를 키에 바인딩하는 방법은 무엇입니까?

분류에서Dev

JSpinner를 맵에 바인딩하는 방법은 무엇입니까?

분류에서Dev

WPF CheckBox를 조건부에 바인딩하는 방법은 무엇입니까?

분류에서Dev

텍스트를 svg rect에 바인딩하는 방법은 무엇입니까?

분류에서Dev

objectdatasource를 html select <tag>에 바인딩하는 방법은 무엇입니까?

분류에서Dev

ComboBox를 ObservableCollection 속성에 바인딩하는 방법은 무엇입니까?

분류에서Dev

ComboBox를 JavaFX의 목록에 바인딩하는 방법은 무엇입니까?

분류에서Dev

checkBox를 부울 속성에 바인딩하는 방법은 무엇입니까?

분류에서Dev

DataGrid에서 DropDownList를 채우는 방법은 무엇입니까?

분류에서Dev

핸들 바를 사용하여 엠버에서 입력을 바인딩하는 방법은 무엇입니까?

분류에서Dev

Vanilla JS에서 URL 매개 변수를 입력 필드에 바인딩하는 방법은 무엇입니까?

분류에서Dev

MVVM 패턴을 사용하여 Datagrid를 바인딩하는 방법은 무엇입니까?

분류에서Dev

OpenGLES에서 하나의 개체에만 텍스처를 바인딩하는 방법은 무엇입니까?

분류에서Dev

DataBindingUtil을 사용하여 Fragment에서 뷰를 바인딩하는 방법은 무엇입니까?

분류에서Dev

C ++ 파일에서 opencv 함수를 사용하고 Python과 바인딩하는 방법은 무엇입니까?

분류에서Dev

서버에서 zkbd (zsh 키보드 바인딩)를 설정하는 방법은 무엇입니까?

분류에서Dev

Kivy에서 텍스처를 3D 메쉬에 바인딩하는 방법은 무엇입니까?

분류에서Dev

Xamarin.Forms의 XamDataChart에서 차트를 List <T>에 바인딩하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    WPF에서 필드를 DataGrid에 바인딩하는 방법은 무엇입니까?

  2. 2

    WPF DataGrid에서 행 헤더를 바인딩하는 방법은 무엇입니까?

  3. 3

    Mutt에서 <Control> <Arrowkey>를 바인딩하는 방법은 무엇입니까?

  4. 4

    ExtJ에서 리스너를 바인딩하는 방법은 무엇입니까?

  5. 5

    Mutt에서 <Control> <Arrowkey>를 바인딩하는 방법은 무엇입니까?

  6. 6

    Bash readline에서 'Enter 키'를 바인딩하는 방법은 무엇입니까?

  7. 7

    Monotouch에서 NSObject <CBCentralManagerDelegate, CBPeripheralDelegate>를 바인딩하는 방법은 무엇입니까?

  8. 8

    DataGrid를 더 많은 컬렉션에 바인딩하는 방법은 무엇입니까?

  9. 9

    Timestamp를 RowMapper로 Long에 바인딩하는 방법은 무엇입니까?

  10. 10

    Blazor : Nullable 개체를 <select>에 바인딩하는 방법은 무엇입니까?

  11. 11

    ts 변수를 html에 바인딩하는 방법은 무엇입니까?

  12. 12

    exit를 키에 바인딩하는 방법은 무엇입니까?

  13. 13

    JSpinner를 맵에 바인딩하는 방법은 무엇입니까?

  14. 14

    WPF CheckBox를 조건부에 바인딩하는 방법은 무엇입니까?

  15. 15

    텍스트를 svg rect에 바인딩하는 방법은 무엇입니까?

  16. 16

    objectdatasource를 html select <tag>에 바인딩하는 방법은 무엇입니까?

  17. 17

    ComboBox를 ObservableCollection 속성에 바인딩하는 방법은 무엇입니까?

  18. 18

    ComboBox를 JavaFX의 목록에 바인딩하는 방법은 무엇입니까?

  19. 19

    checkBox를 부울 속성에 바인딩하는 방법은 무엇입니까?

  20. 20

    DataGrid에서 DropDownList를 채우는 방법은 무엇입니까?

  21. 21

    핸들 바를 사용하여 엠버에서 입력을 바인딩하는 방법은 무엇입니까?

  22. 22

    Vanilla JS에서 URL 매개 변수를 입력 필드에 바인딩하는 방법은 무엇입니까?

  23. 23

    MVVM 패턴을 사용하여 Datagrid를 바인딩하는 방법은 무엇입니까?

  24. 24

    OpenGLES에서 하나의 개체에만 텍스처를 바인딩하는 방법은 무엇입니까?

  25. 25

    DataBindingUtil을 사용하여 Fragment에서 뷰를 바인딩하는 방법은 무엇입니까?

  26. 26

    C ++ 파일에서 opencv 함수를 사용하고 Python과 바인딩하는 방법은 무엇입니까?

  27. 27

    서버에서 zkbd (zsh 키보드 바인딩)를 설정하는 방법은 무엇입니까?

  28. 28

    Kivy에서 텍스처를 3D 메쉬에 바인딩하는 방법은 무엇입니까?

  29. 29

    Xamarin.Forms의 XamDataChart에서 차트를 List <T>에 바인딩하는 방법은 무엇입니까?

뜨겁다태그

보관