Open-Source
سه شنبه 03 شهریور 1388, 18:07 عصر
سلام.
سرچ کردم چیزی گیرم نیومد:ناراحت:
من اینطوری دیتا گرید رو پر میکنم:
OleDbConnection con = new OleDbConnection(setting.strConnection);
con.Open();
OleDbCommand oc = new OleDbCommand();
oc.CommandText = comText;
oc.Connection = con;
DataTable dt = new DataTable();
OleDbDataAdapter oda = new OleDbDataAdapter(oc);
oda.Fill(dt);
dgvAnbar.Columns.Clear();
dgvAnbar.DataSource = null;
dgvAnbar.DataSource = dt;
/////
dgvAnbar.Columns[0].HeaderText = "شماره فاکتور";
dgvAnbar.Columns[0].Width = 80;
dgvAnbar.Columns[1].HeaderText = "نام کالا";
dgvAnbar.Columns[1].Width = 100;
dgvAnbar.Columns[2].HeaderText = "تعداد کالا";
dgvAnbar.Columns[2].Width = 50;
dgvAnbar.Columns[3].HeaderText = "قیمت واحد";
dgvAnbar.Columns[3].Width = 100;
dgvAnbar.Columns[4].HeaderText = "قیمت کل";
dgvAnbar.Columns[4].Width = 100;
dgvAnbar.Columns[5].HeaderText = "قیمت فروش";
dgvAnbar.Columns[5].Width = 100;
////btn Delete & Edit
btnEdit = new DataGridViewButtonColumn();
btnEdit.HeaderText = "ویرایش";
btnEdit.Text = "ویرایش";
btnEdit.UseColumnTextForButtonValue = true;
btnEdit.Width = 80;
btnEdit.DefaultCellStyle.Font = new Font("Tahoma", 8);
dgvAnbar.Columns.Add(btnEdit);
btnDel = new DataGridViewButtonColumn();
btnDel.HeaderText = "حذف";
btnDel.Text = "حذف";
btnDel.UseColumnTextForButtonValue = true;
btnDel.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dgvAnbar.Columns.Add(btnDel);
con.Close();
اگه دقت کنید من دوتا Button به گرید اضافه میکنم.
که نمیدونم شماره اندیسشون چند هستش (باید 6و7 باشند ولی نیستند).
اون دو تا Button که اضافه کردم توی گرید دارای اندیس 0 و 1 هستند.
و برای دسترسی به مقدار خانه شماره فاکتور این کار را میکنم:
string s1 = dgvAnbar.CurrentRow.Cells[2].Value.ToString()
این کد اولین بار درست عمل میکنه و مقدار خانه شماره فاکتور رو میده.
ولی وقتی یه تراکنش مثل فیلتر کردن یا حذف از گرید و دیتابیس رو انجام میدم.
وقتی دوباره با اون کد بالا گرید رو پر میکنم و میخوام به شماره فاکتور دسترسی پیدا کنم...
اندیس بهم خورده و دیگه 2 نیست.مثلا 4 شده.
:متعجب::متعجب:
نمیدونم مشکل از چیه.
آیا راهی به غیر از این برای دسترسی به ستون شماره فاکتور هست؟:ناراحت:
سرچ کردم چیزی گیرم نیومد:ناراحت:
من اینطوری دیتا گرید رو پر میکنم:
OleDbConnection con = new OleDbConnection(setting.strConnection);
con.Open();
OleDbCommand oc = new OleDbCommand();
oc.CommandText = comText;
oc.Connection = con;
DataTable dt = new DataTable();
OleDbDataAdapter oda = new OleDbDataAdapter(oc);
oda.Fill(dt);
dgvAnbar.Columns.Clear();
dgvAnbar.DataSource = null;
dgvAnbar.DataSource = dt;
/////
dgvAnbar.Columns[0].HeaderText = "شماره فاکتور";
dgvAnbar.Columns[0].Width = 80;
dgvAnbar.Columns[1].HeaderText = "نام کالا";
dgvAnbar.Columns[1].Width = 100;
dgvAnbar.Columns[2].HeaderText = "تعداد کالا";
dgvAnbar.Columns[2].Width = 50;
dgvAnbar.Columns[3].HeaderText = "قیمت واحد";
dgvAnbar.Columns[3].Width = 100;
dgvAnbar.Columns[4].HeaderText = "قیمت کل";
dgvAnbar.Columns[4].Width = 100;
dgvAnbar.Columns[5].HeaderText = "قیمت فروش";
dgvAnbar.Columns[5].Width = 100;
////btn Delete & Edit
btnEdit = new DataGridViewButtonColumn();
btnEdit.HeaderText = "ویرایش";
btnEdit.Text = "ویرایش";
btnEdit.UseColumnTextForButtonValue = true;
btnEdit.Width = 80;
btnEdit.DefaultCellStyle.Font = new Font("Tahoma", 8);
dgvAnbar.Columns.Add(btnEdit);
btnDel = new DataGridViewButtonColumn();
btnDel.HeaderText = "حذف";
btnDel.Text = "حذف";
btnDel.UseColumnTextForButtonValue = true;
btnDel.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dgvAnbar.Columns.Add(btnDel);
con.Close();
اگه دقت کنید من دوتا Button به گرید اضافه میکنم.
که نمیدونم شماره اندیسشون چند هستش (باید 6و7 باشند ولی نیستند).
اون دو تا Button که اضافه کردم توی گرید دارای اندیس 0 و 1 هستند.
و برای دسترسی به مقدار خانه شماره فاکتور این کار را میکنم:
string s1 = dgvAnbar.CurrentRow.Cells[2].Value.ToString()
این کد اولین بار درست عمل میکنه و مقدار خانه شماره فاکتور رو میده.
ولی وقتی یه تراکنش مثل فیلتر کردن یا حذف از گرید و دیتابیس رو انجام میدم.
وقتی دوباره با اون کد بالا گرید رو پر میکنم و میخوام به شماره فاکتور دسترسی پیدا کنم...
اندیس بهم خورده و دیگه 2 نیست.مثلا 4 شده.
:متعجب::متعجب:
نمیدونم مشکل از چیه.
آیا راهی به غیر از این برای دسترسی به ستون شماره فاکتور هست؟:ناراحت: