컴퓨터 지식 네트워크 - 컴퓨터 지식 - C# GridView 그룹화를 구현하는 방법은 무엇입니까?

C# GridView 그룹화를 구현하는 방법은 무엇입니까?

저도 비슷한 테스트를 겪었고 도움을 드릴 수 있습니다.

먼저 바인딩 소스와 바인딩Navigator 컨트롤을 이해해야 합니다.

여기에서는 타사 페이징 컨트롤을 사용하지 않는 것에 대해 이야기하고 있습니다.

구성은 다음과 같습니다

m_cardDataSet.Tables[0]는 초기 쿼리의 모든 결과 정보를 텍스트로 표현합니다

제공해 드립니다 두 개의 함수를 사용하여 작성했습니다. pageSize = 50; //각 페이지에 표시되는 행 수

int nMax = 0; //총 레코드 수

int pageCount = 0; //페이지 수

int pageCurrent = 0;//현재 페이지 번호

int nCurrent = 0;//현재 행 번호

//페이징 초기화 정보 - 전달된 테이블 정보 기반

p>

public void InitDataTable(DataTable p_dataTable)

{

nMax = p_dataTable.Rows.Count;

pageCount = (nMax / pageSize);

if (nMax % pageSize > 0)

{

pageCount++;

}

pageCurrent = 1 ;

nCurrent = 0;

LoadData(p_dataTable);

}

//페이지에 페이징 정보 로드

public void LoadData(DataTable p_dataTable)

{

int nStartPos = 0;

int nEndPos = 0;

DataTable deTemp = new DataTable();

deTemp = p_dataTable.Clone();

if (pageCurrent == pageCount)

{

nEndPos = nMax;

}

else

{

nEndPos = pageSize * pageCurrent;

}

nStartPos = nCurrent;

pageCountNumber.Text = "***" + pageCount.ToString() + "페이지" ;

currentPage.Text = "페이지" + Convert.ToString(pageCurrent) + "페이지";

if (p_dataTable.Rows.Count > 0)

{

for (int i = nStartPos; i < nEndPos; i++)

{

deTemp.Im

portRow(p_dataTable.Rows[i]);

nCurrent++;

}

}

bdsInfo.DataSource = deTemp; p>

bdnInfo.BindingSource = bdsInfo;

carDataDgv.DataSource = bdsInfo;

}

//bindingNavigator? >

private void bdnInfo_ItemClicked(개체 전송자, ToolStripItemClickedEventArgs e)

{

if (e.ClickedItem.Text == "이전 페이지")

{

pageCurrent--;

if (pageCurrent <= 0)

{

MessageBox.Show("이미 한 페이지입니다. , 다음 페이지를 클릭하세요!");

return;

}

else

{

nCurrent = pageSize * (pageCurrent - 1);

}

LoadData(m_cardDataSet.Tables[0]);

}

if (e.ClickedItem.Text == "다음 페이지")

{

pageCurrent++;

if (pageCurrent > pageCount)

{

MessageBox.Show("마지막 페이지입니다. 이전 페이지를 클릭하세요!");

return;

}

else

{

nCurrent = pageSize * (pageCurrent - 1);

}

LoadData(m_cardDataSet .Tables[ 0]);

}

if (e.ClickedItem.Text == "Home")

{

pageCurrent=1 ;

nCurrent = pageSize * (pageCurrent - 1);

LoadData(m_cardDataSet.Tables[0]);

}

if (e.ClickedItem.Text == "마지막 페이지")

{

pageCurrent = pageCount;

if (pageCurrent > 0)

{

nCurrent = pageSize * (pageCurrent - 1);

}

else

{

nCurrent = 0;

}

LoadData(m_cardDataSet. 테이블[0]);

}

}

上篇: 2015년 심천 뤄후 지역 교사 자격 인증, 교육 및 교직 능력 시험 시간 下篇: 007 은 어떤 작업제입니까
관련 내용