Paging for GridView in VisualStudio2005
04-01-2008 13:35
к комментариям - к полной версии
- понравилось!
Как я заметил, у многх программеров с Пейджингом возникают серьозные проблемы, на решение которых обыкновенно тратися много времени.Да и погуглить удается не слишком удачно, так как выдается масса ненужной информации.
Ниже представлен мой вариант решения данной проблемы. В комментах принимается замечания и советы по улучшению.
Итак, у нас есть GridView MyGridView
В его пропертях надо поставить AllowPaging=True
B PageSize можно выбрать сколько строк отображается на одной странице, по умолчанию - 10
В результате при запуске программы, мы увидим наш Грид с Пейджингом, но припереходе по страницам будет возникать ошибка.
Дальше, добавляем евент PageIndexChanging (но не PageIndexChanged)
в теле которого пишем:
try
{
if (this.MyGridView.PageIndex < e.NewPageIndex)
{
this.MyGridView.PageIndex = this.MyGridView.PageIndex + e.NewPageIndex - this.MyGridView.PageIndex;
}
else
{
this.MyGridView.PageIndex = this.MyGridView.PageIndex + e.NewPageIndex - this.MyGridView.PageIndex;
}
}
catch (Exception ex)
{
MessageBox.Show(string.Format("IS Exception:{0}", ex.Message));
}
После этого обязательно Гриду надо сделать Бинд
как вариант ( для Аксессовской БД):
this.InitGrid();
}
private void InitGrid()
{
string ConnectionString = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
OleDbConnection Conn = new OleDbConnection(ConnectionString);
OleDbCommand cmd = new OleDbCommand("select * from table", Conn);
cmd.CommandType = CommandType.Text;
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
Conn.Open();
da.Fill(dt);
Conn.Dispose();
this.MyGridView.DataSource = dt;
this.MyGridView.DataBind();
}
Конечно же не забываем про бизнес правила и отлавливание исключений
вверх^
к полной версии
понравилось!
в evernote