PDA

View Full Version : سوال: نمایش ندادن اطلاعات در دیتا گرید و خط ضرب در بر روی ان



amin_sltny
یک شنبه 29 تیر 1393, 09:06 صبح
سلام من یه مشکل با datagrid دارم

بعضی وقتها که دیتا گریدم refresh میشه یه خطا میده و بعدش روی دیتا گرید یه علامت ضربدر میاد مشکل چیه؟ لطفا کمکم کنید

juza66
یک شنبه 29 تیر 1393, 10:08 صبح
کد ریفرش رو بذارید

amin_sltny
یک شنبه 29 تیر 1393, 12:30 عصر
کد ریفرش رو بذارید


private async void RefreshDgUsers() {
await Task.Run(() =>
{
dg_Users.DataSource = DataBaseAccess.Select("select CU_ID,CU_Name,CU_Family,CU_FatherName,CU_IID,CU_Se x,CU_birthday,CU_Tel,CU_RegistriedDate,CU_LastLogi n from customer", "Customers");
if (dg_Users.DataSource != null)
{
dg_Users.DataMember = "Customers";
dg_Users.Columns[0].HeaderText = "کد مشترک";
dg_Users.Columns[1].HeaderText = "نام";
dg_Users.Columns[2].HeaderText = "نام خانوادگی";
dg_Users.Columns[3].HeaderText = "نام پدر";
dg_Users.Columns[4].HeaderText = "کد ملی";
dg_Users.Columns[5].HeaderText = "جنسیت";
dg_Users.Columns[6].HeaderText = "تاریخ تولد";
dg_Users.Columns[7].HeaderText = "تلفن تماس";
dg_Users.Columns[8].HeaderText = "تاریخ ثبت نام";
dg_Users.Columns[9].HeaderText = "آخرین ورود";
lbl_NumberOfCustomers.Text = string.Format("تعداد مشترکین: {0}", dg_Users.Rows.Count.ToString());
}
});


}

juza66
یک شنبه 29 تیر 1393, 12:42 عصر
این کدی که من برای ریفرش دیتاگیرید استفاده میکنم:



در فرم لود:



LoadDatabase("select * from tblpersenl");



private void LoadDatabase(string strSqlQuery)
{
try
{
this.Cursor = Cursors.WaitCursor;
OleDbConnection ocn = new OleDbConnection(ConnectionString);
OleDbDataAdapter oda = new OleDbDataAdapter(strSqlQuery, ocn);
DataTable dt = new DataTable();
dt.Clear();
oda.Fill(dt);
OleDbCommand sqlCmd = new OleDbCommand("SELECT COUNT(*) FROM tblpersenl", ocn);
ocn.Open();
lblCount.Text = "تعدا پرسنل ثبت شده : " + Convert.ToString((int)sqlCmd.ExecuteScalar()) + "";
ocn.Close();
DGW1.Columns.Clear();
DGW1.DataSource = null;
DGW1.DataSource = dt;
DGW1.Columns[0].Name = "id";
DGW1.Columns[1].Name = "numpersenl";
DGW1.Columns[2].Name = "name";
DGW1.Columns[3].Name = "family";
DGW1.Columns[4].Name = "ndad";
DGW1.Columns[5].Name = "shsh";
DGW1.Columns[6].Name = "brith";
DGW1.Columns[7].Name = "meli";
DGW1.Columns[8].Name = "numhesab";
DGW1.Columns[9].Name = "fm";
DGW1.Columns[10].Name = "image";
DGW1.Columns[11].Name = "bank";
DGW1.Columns[0].HeaderText = "ردیف";
DGW1.Columns[1].HeaderText = "شماره پرسنلی";
DGW1.Columns[2].HeaderText = "نام";
DGW1.Columns[3].HeaderText = "نام خانوادگی";
DGW1.Columns[4].HeaderText = "نام پدر";
DGW1.Columns[5].HeaderText = "شماره شناسنامه";
DGW1.Columns[6].HeaderText = "تاریخ تولد";
DGW1.Columns[7].HeaderText = "شماره ملی";
DGW1.Columns[8].HeaderText = "شماره حساب";
DGW1.Columns[9].HeaderText = "جنسیت";
DGW1.Columns[10].HeaderText = "عکس";
DGW1.Columns[11].HeaderText = "بانک";
DGW1.Columns[0].Visible = false;
DGW1.Columns[7].Visible = false;
DGW1.Columns[9].Visible = false;
DGW1.Columns[10].Visible = false;
DGW1.Columns[11].Visible = false;

dt.Dispose();
oda.Dispose();
ocn.Dispose();

this.Cursor = Cursors.Default;

int rowNumber = 1;
foreach (DataGridViewRow row in DGW1.Rows)
{
if (row.IsNewRow)
{
continue;
}
row.HeaderCell.Value = "" + rowNumber.ToString();
rowNumber++;
}
DGW1.AutoResizeRowHeadersWidth(DataGridViewRowHead ersWidthSizeMode.AutoSizeToAllHeaders);


}
catch (Exception ex)
{
this.Cursor = Cursors.Default;
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}



این دستور پنجره ای باز میکنه جهت ثبت اطلاعات و بازگشت دوباره اطلاعات لود میشن


FrmAddEdit FrmAddEdit = new FrmAddEdit();
if (FrmAddEdit.ShowDialog() == DialogResult.OK)
LoadDatabase("select * from tblpersenl");

amin_sltny
دوشنبه 30 تیر 1393, 10:27 صبح
این کدی که من برای ریفرش دیتاگیرید استفاده میکنم:



در فرم لود:



LoadDatabase("select * from tblpersenl");



private void LoadDatabase(string strSqlQuery)
{
try
{
this.Cursor = Cursors.WaitCursor;
OleDbConnection ocn = new OleDbConnection(ConnectionString);
OleDbDataAdapter oda = new OleDbDataAdapter(strSqlQuery, ocn);
DataTable dt = new DataTable();
dt.Clear();
oda.Fill(dt);
OleDbCommand sqlCmd = new OleDbCommand("SELECT COUNT(*) FROM tblpersenl", ocn);
ocn.Open();
lblCount.Text = "تعدا پرسنل ثبت شده : " + Convert.ToString((int)sqlCmd.ExecuteScalar()) + "";
ocn.Close();
DGW1.Columns.Clear();
DGW1.DataSource = null;
DGW1.DataSource = dt;
DGW1.Columns[0].Name = "id";
DGW1.Columns[1].Name = "numpersenl";
DGW1.Columns[2].Name = "name";
DGW1.Columns[3].Name = "family";
DGW1.Columns[4].Name = "ndad";
DGW1.Columns[5].Name = "shsh";
DGW1.Columns[6].Name = "brith";
DGW1.Columns[7].Name = "meli";
DGW1.Columns[8].Name = "numhesab";
DGW1.Columns[9].Name = "fm";
DGW1.Columns[10].Name = "image";
DGW1.Columns[11].Name = "bank";
DGW1.Columns[0].HeaderText = "ردیف";
DGW1.Columns[1].HeaderText = "شماره پرسنلی";
DGW1.Columns[2].HeaderText = "نام";
DGW1.Columns[3].HeaderText = "نام خانوادگی";
DGW1.Columns[4].HeaderText = "نام پدر";
DGW1.Columns[5].HeaderText = "شماره شناسنامه";
DGW1.Columns[6].HeaderText = "تاریخ تولد";
DGW1.Columns[7].HeaderText = "شماره ملی";
DGW1.Columns[8].HeaderText = "شماره حساب";
DGW1.Columns[9].HeaderText = "جنسیت";
DGW1.Columns[10].HeaderText = "عکس";
DGW1.Columns[11].HeaderText = "بانک";
DGW1.Columns[0].Visible = false;
DGW1.Columns[7].Visible = false;
DGW1.Columns[9].Visible = false;
DGW1.Columns[10].Visible = false;
DGW1.Columns[11].Visible = false;

dt.Dispose();
oda.Dispose();
ocn.Dispose();

this.Cursor = Cursors.Default;

int rowNumber = 1;
foreach (DataGridViewRow row in DGW1.Rows)
{
if (row.IsNewRow)
{
continue;
}
row.HeaderCell.Value = "" + rowNumber.ToString();
rowNumber++;
}
DGW1.AutoResizeRowHeadersWidth(DataGridViewRowHead ersWidthSizeMode.AutoSizeToAllHeaders);


}
catch (Exception ex)
{
this.Cursor = Cursors.Default;
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}



این دستور پنجره ای باز میکنه جهت ثبت اطلاعات و بازگشت دوباره اطلاعات لود میشن


FrmAddEdit FrmAddEdit = new FrmAddEdit();
if (FrmAddEdit.ShowDialog() == DialogResult.OK)
LoadDatabase("select * from tblpersenl");



سلام من همین کار را کردم ولی مشکلم حل نشد

juza66
دوشنبه 30 تیر 1393, 10:30 صبح
ویندوز مشکل نداره! ویژوال قاطی نکرده!
یکبار روی سیستم دیگری تست کنید و یا برنامه رو بذارید تست کنم