동적으로 주어진 개수의 열을 가질 수있는 코드로 작성된 데이터 테이블이 있습니다. 첫 번째 열을 기반으로 새 TableRow를 추가하여 Gridview 내에서 행을 그룹화해야합니다. 이 요구 사항은 AutoGenerateColumns를 사용할 수 없음을 의미합니다. ItemDatabound 이벤트의 열에 대해 행/셀을 바인딩하는 데 사용하는 ItemTemplate 내에 테이블을 만들었습니다. 이것은 잘 작동하고 내가해야 할 일을합니다. 내가 가진 문제는 필자의 헤더를 컬럼의 이름에 바인드 할 수 없다는 것입니다. RowType이 ItemDatabound의 Header인지 확인하면 첫 번째 데이터 행에서 시작되므로 e.Row.DataItem을 사용할 수 없습니다. 결과적으로 나는 해당 열의 머리글 셀에 인쇄 할 ColumnName이 무엇인지 확인할 수 없습니다. 내가 생각프로그래밍 방식으로 Gridview에서 헤더 바인딩
if (e.Row.RowType = DataControlRowType.DataRow) then begin
if panlViewAllResults.Visible then begin
for i := 0 to lDataRow.DataView.Table.Columns.Count - 1 do begin
if Assigned(lDataRow.Item[i]) then begin
lCell := TableCell.Create;
lCell.Text := lDataRow.Item[i].ToString;
lRow1.Controls.Add(lCell);
end;
end;
lTable.Controls.Add(lRow1);
end;
end;
: 여기
내가 (코드 Delphi.net에 있지만 당신은 당신이 너무 C# 또는 VB를 사용하는 경우 gyst을 얻을 수 있어야합니다)이 된 DataRow에 사용하고 코드입니다 헤더에 대해 이렇게 할 수 있습니다. 그러나 확실하게 아닙니다 :if (e.Row.RowType = DataControlRowType.Header) then begin
for i := 0 to lDataRow.DataView.Table.Columns.Count - 1 do begin
if Assigned(lDataRow.Item[i]) then begin
lCell := TableCell.Create;
lCell.Text := lDataRow.DataView.Table.Columns[i].ColumnName;
end;
end;
end;
누군가가 이것을 비추어 볼 수 있습니다. 나는 조금이라도 말하려고 애를 썼다.
TIA 로이드