juza66
شنبه 26 مهر 1393, 13:33 عصر
سلام
دوستان عزیز،
من اینطور صفحه بندی میکنم برای گریدویو، مشکلم شماره گذاری هستش که اشتباه ست !!
private OleDbDataAdapter da;
private DataSet ds;
private DataTable dtSource;
private int PageCount;
private int maxRec;
private int pageSize;
private int currentPage;
private int recNo;
//Dim conn As New OleDbConnection
string sSql;
private void LoadDS(string sSQL)
{
try
{
string cnString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\dbsedaghat.mdb;Persist Security Info=False;Jet OLEDB:Database Password=@@ESI@@ALI@@";
//Open Connection.
OleDbConnection conn = new OleDbConnection(cnString);
//Set the DataAdapter's query.
da = new OleDbDataAdapter(sSQL, conn);
ds = new DataSet();
// Fill the DataSet.
da.Fill(ds, "Items");
// Set the source table.
dtSource = ds.Tables["Items"];
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error...", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void LoadPage()
{
int i = 0;
int startRec = 0;
int endRec = 0;
DataTable dtTemp = null;
//Duplicate or clone the source table to create the temporary table.
dtTemp = dtSource.Clone();
if (currentPage == PageCount)
{
endRec = maxRec;
}
else
{
endRec = pageSize * currentPage;
}
startRec = recNo;
if (dtSource.Rows.Count > 0)
{
//Copy the rows from the source table to fill the temporary table.
for (i = startRec; i <= endRec - 1; i++)
{
dtTemp.ImportRow(dtSource.Rows[i]);
recNo = recNo + 1;
}
}
DWG1.DataSource = dtTemp;
if (recNo <= 20)
{
int rowNumber = 1;
foreach (DataGridViewRow row in DWG1.Rows)
{
if (row.IsNewRow)
{
continue;
}
row.HeaderCell.Value = "" + rowNumber.ToString();
rowNumber++;
}
DWG1.AutoResizeRowHeadersWidth(DataGridViewRowHead ersWidthSizeMode.AutoSizeToAllHeaders);
}
else
{
int rowNumber = recNo;
foreach (DataGridViewRow row in DWG1.Rows)
{
if (row.IsNewRow)
{
continue;
}
row.HeaderCell.Value = "" + rowNumber.ToString();
rowNumber++;
}
DWG1.AutoResizeRowHeadersWidth(DataGridViewRowHead ersWidthSizeMode.AutoSizeToAllHeaders);
}
DisplayPageInfo();
}
private void FillGrid()
{
//Set the start and max records.
pageSize = 20;
//txtPageSize.Text
maxRec = dtSource.Rows.Count;
PageCount = maxRec / pageSize;
// Adjust the page number if the last page contains a partial page.
if ((maxRec % pageSize) > 0)
{
PageCount = PageCount + 1;
}
//Initial seeings
currentPage = 1;
recNo = 0;
// Display the content of the current page.
LoadPage();
}
دکمه Next
bool functionReturnValue = false;
//Check if the user clicks the "Fill Grid" button.
if (pageSize == 0)
{
MessageBox.Show("Set the Page Size, and then click the \"Fill Grid\" button!");
functionReturnValue = false;
}
else
{
functionReturnValue = true;
}
return functionReturnValue;
ایراد شماره گذاری اینجاست
if (recNo <= 20)
{
int rowNumber = 1;
foreach (DataGridViewRow row in DWG1.Rows)
{
if (row.IsNewRow)
{
continue;
}
row.HeaderCell.Value = "" + rowNumber.ToString();
rowNumber++;
}
DWG1.AutoResizeRowHeadersWidth(DataGridViewRowHead ersWidthSizeMode.AutoSizeToAllHeaders);
}
else
{
int rowNumber = recNo;
foreach (DataGridViewRow row in DWG1.Rows)
{
if (row.IsNewRow)
{
continue;
}
row.HeaderCell.Value = "" + rowNumber.ToString();
rowNumber++;
}
DWG1.AutoResizeRowHeadersWidth(DataGridViewRowHead ersWidthSizeMode.AutoSizeToAllHeaders);
}
recNo تعداد رکوردهای لود شده در دیتاگرید است
recNo <= 20 در اینجا گفتم اگه مساوی 20 تا بود یا کمتر int rowNumber = 1 قرار بده
و در ادامه اگر درست نبود از recNo بخون و شماره گذاری از اون شروع بشه
ایراد:
اولین صفحه از 1 تا 20 بدرستی شمارش می شن،
ولی دکمه next می زنم شمارش از 40 شروع میشه و بعد از 20 - 21 هستش نه 40
int rowNumber = recNo;
تشکر
دوستان عزیز،
من اینطور صفحه بندی میکنم برای گریدویو، مشکلم شماره گذاری هستش که اشتباه ست !!
private OleDbDataAdapter da;
private DataSet ds;
private DataTable dtSource;
private int PageCount;
private int maxRec;
private int pageSize;
private int currentPage;
private int recNo;
//Dim conn As New OleDbConnection
string sSql;
private void LoadDS(string sSQL)
{
try
{
string cnString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\dbsedaghat.mdb;Persist Security Info=False;Jet OLEDB:Database Password=@@ESI@@ALI@@";
//Open Connection.
OleDbConnection conn = new OleDbConnection(cnString);
//Set the DataAdapter's query.
da = new OleDbDataAdapter(sSQL, conn);
ds = new DataSet();
// Fill the DataSet.
da.Fill(ds, "Items");
// Set the source table.
dtSource = ds.Tables["Items"];
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error...", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void LoadPage()
{
int i = 0;
int startRec = 0;
int endRec = 0;
DataTable dtTemp = null;
//Duplicate or clone the source table to create the temporary table.
dtTemp = dtSource.Clone();
if (currentPage == PageCount)
{
endRec = maxRec;
}
else
{
endRec = pageSize * currentPage;
}
startRec = recNo;
if (dtSource.Rows.Count > 0)
{
//Copy the rows from the source table to fill the temporary table.
for (i = startRec; i <= endRec - 1; i++)
{
dtTemp.ImportRow(dtSource.Rows[i]);
recNo = recNo + 1;
}
}
DWG1.DataSource = dtTemp;
if (recNo <= 20)
{
int rowNumber = 1;
foreach (DataGridViewRow row in DWG1.Rows)
{
if (row.IsNewRow)
{
continue;
}
row.HeaderCell.Value = "" + rowNumber.ToString();
rowNumber++;
}
DWG1.AutoResizeRowHeadersWidth(DataGridViewRowHead ersWidthSizeMode.AutoSizeToAllHeaders);
}
else
{
int rowNumber = recNo;
foreach (DataGridViewRow row in DWG1.Rows)
{
if (row.IsNewRow)
{
continue;
}
row.HeaderCell.Value = "" + rowNumber.ToString();
rowNumber++;
}
DWG1.AutoResizeRowHeadersWidth(DataGridViewRowHead ersWidthSizeMode.AutoSizeToAllHeaders);
}
DisplayPageInfo();
}
private void FillGrid()
{
//Set the start and max records.
pageSize = 20;
//txtPageSize.Text
maxRec = dtSource.Rows.Count;
PageCount = maxRec / pageSize;
// Adjust the page number if the last page contains a partial page.
if ((maxRec % pageSize) > 0)
{
PageCount = PageCount + 1;
}
//Initial seeings
currentPage = 1;
recNo = 0;
// Display the content of the current page.
LoadPage();
}
دکمه Next
bool functionReturnValue = false;
//Check if the user clicks the "Fill Grid" button.
if (pageSize == 0)
{
MessageBox.Show("Set the Page Size, and then click the \"Fill Grid\" button!");
functionReturnValue = false;
}
else
{
functionReturnValue = true;
}
return functionReturnValue;
ایراد شماره گذاری اینجاست
if (recNo <= 20)
{
int rowNumber = 1;
foreach (DataGridViewRow row in DWG1.Rows)
{
if (row.IsNewRow)
{
continue;
}
row.HeaderCell.Value = "" + rowNumber.ToString();
rowNumber++;
}
DWG1.AutoResizeRowHeadersWidth(DataGridViewRowHead ersWidthSizeMode.AutoSizeToAllHeaders);
}
else
{
int rowNumber = recNo;
foreach (DataGridViewRow row in DWG1.Rows)
{
if (row.IsNewRow)
{
continue;
}
row.HeaderCell.Value = "" + rowNumber.ToString();
rowNumber++;
}
DWG1.AutoResizeRowHeadersWidth(DataGridViewRowHead ersWidthSizeMode.AutoSizeToAllHeaders);
}
recNo تعداد رکوردهای لود شده در دیتاگرید است
recNo <= 20 در اینجا گفتم اگه مساوی 20 تا بود یا کمتر int rowNumber = 1 قرار بده
و در ادامه اگر درست نبود از recNo بخون و شماره گذاری از اون شروع بشه
ایراد:
اولین صفحه از 1 تا 20 بدرستی شمارش می شن،
ولی دکمه next می زنم شمارش از 40 شروع میشه و بعد از 20 - 21 هستش نه 40
int rowNumber = recNo;
تشکر