테이블을 동적으로 만들고 싶습니다. 이 테이블이 들어갈 공간이 제한되어 있으므로 최대 행을 10으로 설정하고 싶습니다.C# 동적 테이블
첫 번째 두 열은 채워질 것입니다. 열이 10이되면 다른 두 열이 채워져 다른 열 10 개가 채워집니다 다른 두 개의 열을 만드는 등의 작업을 수행 할 수 있습니다.
어떻게해야합니까? 또는 루프를 수행하는 가장 좋은 방법은 무엇입니까?
테이블을 동적으로 만들고 싶습니다. 이 테이블이 들어갈 공간이 제한되어 있으므로 최대 행을 10으로 설정하고 싶습니다.C# 동적 테이블
첫 번째 두 열은 채워질 것입니다. 열이 10이되면 다른 두 열이 채워져 다른 열 10 개가 채워집니다 다른 두 개의 열을 만드는 등의 작업을 수행 할 수 있습니다.
어떻게해야합니까? 또는 루프를 수행하는 가장 좋은 방법은 무엇입니까?
난 당신이 자신의 양식에서 데이터를 번역 할 생각 :
A 1
B 2
C 3
D 4
E 5
F 6
G 7
A 1 D 4 G 7
B 2 E 5
C 3 F 6
그렇다면
로, 여기 당신이 작업을 수행 할 수 방법은 다음과 같습니다먼저 I가 클래스를 사용 다음과 같이 각 데이터 항목 쌍 (예 : A, 1)을 포함합니다.
class DataElement
{
public string Value1 { get; set; }
public string Value2 { get; set; }
}
01 23,516,
가 나는 목록을 받아와 형식의 테이블로 변환하는 도우미 기능 내장 :
마지막으로private const int MaxRows = 3; //Configure how many Rows in the table
private const int NumColsPerElement = 2; //Configure how many columns per element
static System.Data.DataTable BuildTabularTableElements(List<DataElement> elements)
{
System.Data.DataTable dt = new System.Data.DataTable();
int columnCount = (((elements.Count + MaxRows - 1)/MaxRows)) * NumColsPerElement;
for (int x = 0; x < columnCount; x++) //Add enough columns
dt.Columns.Add();
for (int x = 0; x < Math.Min(MaxRows, elements.Count); x++) //Add enough rows
dt.Rows.Add();
for (int x = 0; x < elements.Count; x++)
{
int curCol = (x/MaxRows) * NumColsPerElement; //Determine the current col/row
int curRow = x % MaxRows;
dt.Rows[curRow][curCol] = elements[x]First you need a.Value1; //Place the data in the correct row/column
dt.Rows[curRow][curCol+1] = elements[x].Value2;
}
return dt;
}
테스트하기를,이 사용
List<DataElement> e = new List<DataElement>();
e.Add(new DataElement() { Value1 = "1", Value2 = "2" });
e.Add(new DataElement() { Value1 = "3", Value2 = "4" });
e.Add(new DataElement() { Value1 = "5", Value2 = "6" });
e.Add(new DataElement() { Value1 = "7", Value2 = "8" });
System.Data.DataTable dt = BuildTabularTableElements(e);
공지 사항 내가 얼마나 많은 제어하는 상수를 사용 행과 열을 사용할 수 있습니다. 필자는 데이터 요소 당 3 행 최대 및 2 열을 사용했습니다. 이것은 분명히 약간 정리 될 수 있지만 그것이 당신이 원하는 것으로 가정합니다. 상수를 가져 와서 메서드 매개 변수가 될 수 있고 표준 배열을 사용하여 목록을 변경하여 높은 유연성을 제공 할 수 있으므로 임의의 크기의 테이블과 열 수를 사용할 수 있지만 필요한 경우이를 그대로 남겨 두겠습니다.
무슨 말씀 이세요? 데이터베이스 테이블? HTML 테이블? 아니면 winforms, silverlight, wpf ... 당신의 질문은 분명하지 않습니다. 정교하고 정확하게 설명하십시오. 그렇지 않으면 아무도 도움을 줄 수 없습니다. –
WinForms에 있나요? WPF? 실버 라이트? ASP.Net HTML? XNA? wxWidgets? ... 이것은 필요한 답변에 많은 영향을 미칩니다. –
미안, ASP.NET, C# 테이블. – Boomerang