Esta fonte de dados é dividida em duas partes. Uma é chamar os dados da classe de dados e, em seguida, operar os parâmetros de paginação e os controles auxiliares de paginação nesta fonte de dados! Existem três controles na frente para controlar a virada de página, uma lista suspensa e dois LinkButtons!
Para obter mais métodos de manipulação de dados em classes, consulte http://thcjp.cnblogs.com/archive/2006/06/18/428775.html
A chamada do método fill() é muito simples e precisa ser reativada. a página. Basta escrever fill() em algum lugar, haha! Mas deve ser escrito, por exemplo, após a execução da ação de virar a página!
A seguir está o método ds na classe db
DataTable estático público ds (string que)
{//Retorna uma tabela de dados carregada com mensagens definidas por SQL,
OleDbConnection con = odb.con();
OleDbDataAdapter oda = new OleDbDataAdapter();
oda.SelectCommand=new OleDbCommand(que,con);
DataSet ds = new DataSet();
oda.Fill(ds,"thc");
retornar ds.Tables["thc"];
con.Fechar();
}A fonte de dados usada pelo método a seguir é a acima
preenchimento de vazio privado()
{//Uma maneira de fazer isso, porque haverá várias vinculações na página
//Defina um rótulo oculto aqui para armazenar o índice da página atual
int cup = Convert.ToInt32(pagelbl.Text);
PagedDataSource ps = new PagedDataSource();//NOVA fonte de dados de paginação
ps.DataSource = odb.ds("select * from guest order by id desc").DefaultView;//Envie uma instrução SQL para determinar a fonte de dados da fonte de dados Isso é um pouco complicado, haha.
ps.AllowPaging = true;//Permitir paginação
ps.PageSize = 2;//Definir o número de páginas
ps.CurrentPageIndex = xícara-1;
se (!IsPostBack)
{//Determine se a página será carregada pela primeira vez
for (int i = 1; i <= ps.PageCount; i++)
{//Repetir os números das páginas
pageddl.Items.Add(i.ToString());
}
}
//O seguinte é principalmente para controlar se os botões de subir e descer de página estão habilitados.
pageup.Enabled = verdadeiro;
pagedown.Enabled = verdadeiro;
if (ps.IsFirstPage)
{//Se for a primeira página, o botão da página anterior não estará disponível
pageup.Enabled = falso;
}
if (ps.IsLastPage)
{//Se for a última página, o botão da próxima página não estará disponível
pagedown.Enabled = falso;
}
//Define o valor atualmente selecionado do menu suspenso do número da página
pageddl.SelectedItem.Text = cup.ToString();
//Finalmente pode ser vinculado ao DataList
DataList1.DataSource = ps;
DataList1.DataKeyField = "id";
DataList1.DataBind();
}
O próximo é o processamento de eventos de virada de página
protegido void pageddl_SelectedIndexChanged (objeto remetente, EventArgs e)
{//Evento do menu suspenso do número da página
pagelbl.Text = pageddl.SelectedItem.Text.ToString();
preencher();
}
protegido void pagedown_Click (objeto remetente, EventArgs e)
{//Evento da próxima página
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)+1);
preencher();
}
protegido void pageup_Click (objeto remetente, EventArgs e)
{//Evento da página anterior
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)-1);
preencher();
}