PDA

View Full Version : دسترسی به داده های داخل دیتاگریدی که از طریق کد ایجاد شده



Boy_nn
دوشنبه 26 اردیبهشت 1390, 18:27 عصر
سلام
من یه دیتا گرید از طریق کد ایجاد کردم و به یه دیتا جدول وصلش کردم(بازم از طریق کد) و همون جوری که می خواستم ویرایشش کردم
حالا می خوام از طریق Event دابل کیلیک و کیلیک به داده های داخل جدول دسترسی پیدا کنم
ولی این آخری رو نمی دونم چی کار کنم







privatevoid HR()
{
tabControl1.TabPages.Add(



"منابع انسانی", "منابع انسانی");
tabControl1.SelectTab(



"منابع انسانی");




DataGridView dgv = newDataGridView();
 
dgv.Name =



"dgv" + intdgv.ToString();




this.tabControl1.SelectedTab.Controls.Add(dgv);
dgv.Dock =



DockStyle.Fill;
intdgv++;
 
 
 




SqlConnection opendb = newSqlConnection(Properties.Settings.Default.Negar AndishConnectionString);




SqlCommand selectcmd = newSqlCommand("select * from t_HumanResource", opendb);




SqlDataAdapter sqladapt = new System.Data.SqlClient.SqlDataAdapter();
sqladapt.SelectCommand = selectcmd;
 




DataTable dt = new System.Data.DataTable();
sqladapt.Fill(dt);
dgv.DataSource = dt;
opendb.Close();
 
dgv.AutoGenerateColumns =



false;
dgv.Columns[0].Visible =



false;
dgv.Columns[1].HeaderText =



"کد پرسنلی";
dgv.Columns[2].HeaderText =



"نام";
dgv.Columns[3].HeaderText =



"شهرت";
dgv.Columns[4].HeaderText =



"شماره شناسنامه";
dgv.Columns[5].HeaderText =



"کد ملی";
dgv.Columns[6].HeaderText =



"تاریخ تولد";
dgv.Columns[6].HeaderText =



"محل تولد";
dgv.Columns[7].HeaderText =



"";
dgv.Columns[10].HeaderText =



"";
dgv.Columns[11].HeaderText =



"";
dgv.Columns[12].HeaderText =



"";
dgv.Columns[13].HeaderText =



"";
dgv.Columns[14].HeaderText =



"";
 
dgv.AllowUserToAddRows =



false;
dgv.AllowUserToDeleteRows =



false;
dgv.EditMode =



DataGridViewEditMode.EditProgrammatically;




//this.panelRight.DoubleClick += new System.EventHandler(this.panelRight_DoubleClick);
dgv.CellDoubleClick +=



new System.Windows.Forms.DataGridViewCellEventHandler( this.dgvHR_DoubleClick);




//string idhr = dgv.CurrentRow.Cells[0].Value.ToString();
}




privatevoid dgvHR_DoubleClick(object sender, DataGridViewCellEventArgs e)
{




MessageBox.Show(e.RowIndex.ToString());
}

Editali
سه شنبه 27 اردیبهشت 1390, 01:32 صبح
همیشه یه راه حل خوب هست ولی الان از نیمه شب 2 ساعت گذشته و من نمیتونم به کدت نگاه کنم، ولی در کل میتونی از این روش عمل کنی :
یک متد برای هر کدوم از eventهایی که میخوای اضافه کن، به این شکل:

myDataGridView.CellMouseClick += new DataGridViewCellMouseEventHandler(myDataGridView_C ellMouseClick);
myDataGridView.CellMouseDoubleClick += new DataGridViewCellMouseEventHandler(myDataGridView_C ellMouseDoubleClick);





void myDataGridView_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
object myval = myDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
}

void myDataGridView_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
object myval = myDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
}


ساده بود، نه؟