런타임에 열이 프로그래밍 방식으로 생성되는 DataTable이 있습니다. 그런 다음이 DataTable을 GridView에 바인딩합니다. 내가 궁금해하는 건, 이걸 수용 할 수있는 GridView를 어떻게 만들 수 있는지, 불가능하다면 DataTable을 멋지게 형식화 된 HTML로 출력하는 방법이다.런타임에 생성 된 열이있는 GridView 만들기
2
A
답변
8
GridView는이 목적으로 AutogenerateColums 속성을 가지고 있습니다.
VB.NET
Dim tbl As New DataTable
tbl.Columns.Add("ID", GetType(Int32))
tbl.Columns.Add("Name", GetType(String))
tbl.Columns.Add("Birthday", GetType(Date))
Dim pers As DataRow = tbl.NewRow
pers("ID") = 1
pers("Name") = "Tim"
pers("Birthday") = New Date(1973, 6, 9)
사용 AutoGenerateColumns
그리드 열 자체 생성 할 수 있도록 :
Me.GridView1.AutoGenerateColumns = True
Me.GridView1.DataSource = tbl
Me.GridView1.DataBind()
또는 동적으로 열을 생성 또한 예를 들어, 즉석에서 열을 생성 할 수
For Each col As DataColumn In tbl.Columns
Dim field As New BoundField
field.DataField = col.ColumnName
field.HeaderText = col.ColumnName
GridView1.Columns.Add(field)
Next
C#
foreach (DataColumn col in dt.Columns)
{
BoundField field = new BoundField();
field.DataField = col.ColumnName;
field.HeaderText = col.ColumnName;
GridView1.Columns.Add(field);
}
1
DataTable을 Gridview의 DataSource로 설정할 수 있어야합니다. GridView에는 AutoGenerateColumns
속성이 있습니다. 바인딩을 수행하기 전에 true
으로 설정했는지 또는 직접 수동으로 열을 미리 만드는지 확인하십시오.
1
다른 답변으로이 문제가 해결되지 않았기 때문에 사용자 정의 열이있는 GridView를 프로그래밍 방식으로 설정하는 방법이 있습니다.
private GridView SetUpGrid()
{
GridView GView = new GridView();
GView .ColumnHeaderToolTip = "MyToolTip";
GridViewColumn gvc1 = new GridViewColumn();
gvc1.DisplayMemberBinding = new Binding("Col1Name");
gvc1.Header = "Column One";
gvc1.Width = Double.NaN; // Auto-Size
GView .Columns.Add(gvc1);
GridViewColumn gvc2 = new GridViewColumn();
gvc2.DisplayMemberBinding = new Binding("Col2Name");
gvc2.Header = "Column Two";
gvc2.Width = Double.NaN;
GView .Columns.Add(gvc2);
GridViewColumn gvc3 = new GridViewColumn();
gvc3.DisplayMemberBinding = new Binding("Col3Name");
gvc3.Header = "Column Three";
gvc3.Width = Double.NaN;
GView .Columns.Add(gvc3);
GridViewColumn gvc4 = new GridViewColumn();
gvc4.DisplayMemberBinding = new Binding("Col4Name");
gvc4.Header = "Column Four";
gvc4.Width = Double.NaN;
GView .Columns.Add(gvc4);
return GView;
}
+1
웹 컨트롤에 GridViewColumn이 없습니다. – Fandango68
관련 문제
- 1. 런타임에 생성 된 요소를 사용하여 AlertDialog 만들기
- 2. WPF : "인덱스"열이있는 GridView
- 3. 런타임에 열거 만들기/수정
- 4. Gridview 열이있는 경우에만 작업을 수행하려면 어떻게해야합니까?
- 5. asp.net 드롭 다운 목록 열이있는 동적 GridView
- 6. 런타임에 생성 된 컨트롤을 상속하는 방법은 무엇입니까?
- 7. 런타임에 생성 된 클래스의 바이트 가져 오기
- 8. 런타임에 생성 된 컨트롤의 액세스 값
- 9. 런타임에 생성 된 위젯에서 OnClick 이벤트 수행
- 10. Unale 런타임에 생성 된 파일을 디렉토리에 저장합니다.
- 11. 런타임에 동적으로 생성 된 JSP를 평가하십시오.
- 12. C# : 런타임에 생성 된 BackgroundWorker를 처리해야합니까?
- 13. 생성 된 gridview 버튼 식별 문제.
- 14. WPF에서 동적으로 생성 된 GridView 바인딩
- 15. 정렬 및 생성 된 datareader와 Gridview 페이징
- 16. 동적으로 gridview 만들기
- 17. 런타임에 데이터베이스 만들기
- 18. 런타임에 클래스의 인스턴스 만들기
- 19. Silverlight에서 런타임에 ControlTemplate 만들기
- 20. 런타임에 테스트 만들기
- 21. 런타임에 대리자 형식 만들기
- 22. Delphi로 런타임에 TWebBrowser 만들기
- 23. C# GridView ontextchanged 텍스트 상자가있는 동적으로 생성 된 열
- 24. onclick을 추가하거나 런타임에 데이터베이스에서 런타임에 생성
- 25. 런타임에 컨트롤 생성
- 26. 런타임에 객체 생성
- 27. 런타임에 NinePatch 생성
- 28. 프로그래밍 방식으로 생성 된 요소와 단일보기로 생성 된 단일보기 만들기
- 29. ASP.NET 동적 GridView 만들기
- 30. 미리 정의 된 열이있는 DataGridView에 대한 DataSet
새 열의 데이터 소스가 GridView의 기본 데이터 소스가 아닌 다른 곳에서 온 경우 어떻게해야합니까? DataBind 전에 gridview에 하나의 데이터 소스 만 있어야합니까? – Fandango68
@ Fernando68 : 죄송합니다. 귀하의 요구 사항을 이해하지 못합니다. 어쩌면 진짜 질문을 만들고 필요한 모든 정보를 제공하는 것이 가장 좋습니다. 그럼 내가 대답하려고 할 수있어. 여기에 대한 질문에 대한 링크를 추가하여 알려줄 수 있습니다. –
http://stackoverflow.com/questions/35307156/gridview-how-to-add-columns-based-on-data-from-a-separate-data-source – Fandango68