여분의 행으로 인해 그리드 뷰 행 수가 잘못되었지만 GridView가 추가 헤더 행을 갖도록 수정했습니다.gridview에 헤더 행을 추가하면 마지막 항목 행을 저장할 수 없습니다.
기본적으로 Gridview를 저장하려고 할 때 마지막 항목 행을 인식하지 못합니다. 현재 테스트에는 5 개의 아이템 라인이 있지만 그 중 4 개만 저장됩니다.
추가 헤더 라인 작성에 대한 나의 코드 : 내가 저장거야 때 행을, 그럼 루프를
public void GetMultiRowHeader(GridViewRowEventArgs e, SortedList GetCels)
{
GridViewRow row;
IDictionaryEnumerator enumCels = GetCels.GetEnumerator();
row = new GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal);
while (enumCels.MoveNext())
{
string[] count = enumCels.Value.ToString().Split(Convert.ToChar(","));
TableCell cell = new TableCell();
cell.RowSpan = Convert.ToInt16(count[2].ToString());
cell.ColumnSpan = Convert.ToInt16(count[1].ToString());
cell.Controls.Add(new LiteralControl(count[0].ToString()));
cell.HorizontalAlign = HorizontalAlign.Center;
row.Cells.Add(cell);
}
e.Row.Parent.Controls.AddAt(0, row);
}
:
protected void gvStatusReport_RowDataBound(object sender, GridViewRowEventArgs e)
{
// This grid has multiple rows, fake the top row.
if (e.Row.RowType == DataControlRowType.Header)
{
SortedList FormatCells = new SortedList();
FormatCells.Add("1", ",6,1");
FormatCells.Add("2", "Time Spent,7,1");
FormatCells.Add("3", "Total,2,1");
FormatCells.Add("4", ",6,1");
GetMultiRowHeader(e, FormatCells);
}
}
기능은 새 행을 만들 수를 :
int totalRows = gvStatusReport.Rows.Count;
for (int rowNumber = 0; rowNumber < totalRows; rowNumber++)
{
그러나 첫 번째 줄에는 항목 행에있는 열이 하나도없는 것처럼 보입니다. 마지막 줄이 나타나지 않습니다.
제 문제는 추가 헤더 줄이 필요하지만이를 해결하는 가장 좋은 방법은 무엇입니까?
을, 지금까지의 모든 결과를 하나의 이동 행을 완성한 다음 데이터를 엉망으로 만든다. – Lex