2016-12-29 15 views
0

telerik radgrid를 사용하고 있습니다. 나는 프로그램 적으로 표를 묶고있다. 모눈은 올바르게로드되지만 중첩 된 모눈은 여러 번로드됩니다 (중첩 된 모눈의 열 수를 곱한 횟수). "TBL"하나의 테이블을 가지고 있지만 출력은 여러 테이블을 표시 디버깅하는 동안 다음은 내 코드C# 여러 번 중첩 된 격자로드

GridTableView tableViewOrders = new GridTableView(grid); 
foreach (Application app in isParentApp) 
{ 
    DataTable tbl = new DataTable("nestedTable_" + app.AppId); 
    objGridList = GetGridList(app.AppId); 
    foreach (var nestedRow in objGridList) 
    { 
     GridRelationFields relationFields = new GridRelationFields(); 
      relationFields.MasterKeyField = "AppId"; 
      relationFields.DetailKeyField = "AppId"; 
      tableViewOrders.ParentTableRelation.Add(relationFields); 
      GridBoundColumn boundColumn = new GridBoundColumn(); 
      boundColumn.DataField = nestedRow.ColName; 
      boundColumn.HeaderText = nestedRow.ColName; 
      tableViewOrders.Columns.Add(boundColumn); 
      grid.MasterTableView.DetailTables.Add(tableViewOrders); 
      tbl.Columns.Add(nestedRow.ColName); 
    } 
foreach(var rows in totalRows) 
{ 
     DataRow nestedDtRow = tbl.NewRow(); 
     nestedDtRow["AppId"] = app.AppId; 
    foreach (var nestedRecord in nestedRecords) 
    { 
     nestedDtRow[nestedRecord.colName] = nestedRecord.Data; 
    } 
     tbl.Rows.Add(nestedDtRow); 
} 
    tableViewOrders.DataSource = tbl; 

}

입니다.

 ` 

답변

0

당신은이 루프의 각 행에 대해 반복해서 열을 추가됩니다

foreach (var nestedRow in objGridList) 
{ 
} 

당신은 루프 밖에서 한 번이 작업을 수행해야합니다. 루프 외부에 열을 추가하는 방법에 대한 답변은 this을 참조하십시오.

+0

안녕하세요,이 루프는 한 번만 열을 추가합니다 ... "objGridList"실제로 열 이름 목록이 있습니다. – user3064309

+0

"tbl"을 디버깅 할 때 단 하나의 테이블 만 있습니다. 하지만 출력이 많은 테이블을 표시합니다 – user3064309

+0

각 행에 대해 한 번만 추가합니다 – CodingYoshi