PDA

View Full Version : مشکل add در data grid view textbox column



m.khani_121
پنج شنبه 29 تیر 1391, 11:09 صبح
سلام . دوستان تو این کد :



SqlConnection con2 = new SqlConnection();
SqlCommand cmd2 = new SqlCommand();
DataTable dt2 = new DataTable();
con2.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\m ehdi\\Documents\\ahkam.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
cmd2.Connection = con2;
SqlDataAdapter da2 = new SqlDataAdapter("select hokm from Table2", con2);
da2.Fill(dt2);
DataGridViewTextBoxColumn dc = new DataGridViewTextBoxColumn();



حالا من چه جوری سطرهای datatable رو بریزم تو این datagridviewtextbox ؟؟؟

datasource نداره !!!

من یه Datagridview داشتم حالا میخوام یه ستون دیگه بهش اضافه کنم و مقدارش رو از datatable بگیرم .

ممنون دوستان

barnamenevisforme
پنج شنبه 29 تیر 1391, 14:57 عصر
سلام
datasource مربوط به datagridview هست و DataGridViewTextBoxColumn یکی از اجزای datagridview
واسه همین datatable به عنوان datasource یه datagridview معرفی میشه و هر کدوم از DataGridViewTextBoxColumn ها
به یه datapropertyname اشاره میکنند.
ولی من فکر میکنم هدف شما مورد خاصی هست و من کاملا متوجه موضوع نشدم.
اگه ممکنه تصویری از جدول و شرح مختصری از هدفتون بفرمایید تا اگه بتونم راه بهتری بهتون پیشنهاد بدم.

sirvan-me
پنج شنبه 29 تیر 1391, 15:39 عصر
کدی که سطر های دیتاتیبل رو میریزه تو گرید اینه :

datagridview.DataSource = dt2;

برای ساختن ستون در دیتاگرید هم از کد زیر می تونی استفاده کنی :

DataGridViewTextBoxColumn dtgv_txt = new DataGridViewTextBoxColumn();

dataGridView1.Columns.Add(dtgv_txt);

dataGridView1.Columns[0].HeaderText = "Name";

برای انکه بخوای تو اون ستون چیزی بریزی باید اینطوری عمل کنی :

dataGridView1.Rows[0].Cells[0].Value = "Mehdi";
dataGridView1.Rows[1].Cells[0].Value = "Sirvan";

m.khani_121
پنج شنبه 29 تیر 1391, 21:33 عصر
ولی من فکر میکنم هدف شما مورد خاصی هست و من کاملا متوجه موضوع نشدم.
اگه ممکنه تصویری از جدول و شرح مختصری از هدفتون بفرمایید تا اگه بتونم راه بهتری بهتون پیشنهاد بدم.



ممنون دوست عزیز . ببینید من قبلا از یه table مقدار نام و نام خانوادگی رو ریختم توی datagridview . حالا میخوام مثلا با زدن یه دکمه از یه table دیگه مقدار نام پدر ، بیاد یه ستون دیگه بسازه و به همون datagridview اضافه بشه .

Mahmoud.Afrad
پنج شنبه 29 تیر 1391, 22:27 عصر
از کجا میخواهی مطمئن بشی هر نام پدری درست جلوی نام فرزندش قرار میگیره؟؟؟

در این گونه موارد با یک join باید این کار رو انجام بدید. دو جدول باید یک ستون مشترک داشته باشند که بر اساس اون join انجام بشه.

barnamenevisforme
پنج شنبه 29 تیر 1391, 23:12 عصر
سلام
همونطور که دوستمون جناب mafaman2003 (http://barnamenevis.org/member.php?71297-mafaman2003) میفرمایند شما باید از join استفاده کنید.مثلا فرض کنید یه جدول داریم به نام tbl_childو یکی دیگه به نام tbl_father یه query که فرزندان با نام mehdi رو با کد ملی پدرشون در بیاره اینطور میشه:
SELECT tbl_c.name, tbl_c.family, tbl_f.codemeli
FROM tbl_c LEFT OUTER JOIN
tbl_f ON tbl_c.f_id = tbl_f.id
WHERE (tbl_c.name = '[mehdi]')

m.khani_121
پنج شنبه 29 تیر 1391, 23:21 عصر
ممنون دوستان عزیز حل شد . . . میگم تو موقع load شدن فرمی که توش یه datagridview هست و یکی از ستون های اون combobox هست و این combobox مثلا 6تا آیتم داره ، چه جوری میتونم اون combobox رو به صورت default بزارم رو آیتم اولی ؟؟ چون وقتی فرم باز میشه هیچی توش نیست وباید انتخاب بشه ولی من میخوام رو اولی باشه .

daneshjo90
پنج شنبه 29 تیر 1391, 23:28 عصر
سلام
اينكه خيلي آسونه

كد زير مشكلتو حل ميكنه

private void Form1_Load(object sender, EventArgs e)
{
comboBox1.SelectedIndex = 0;
}

به دردت خورد يه تشكرو فشار بده

m.khani_121
پنج شنبه 29 تیر 1391, 23:33 عصر
این combobox از نوع datagridviewcombobox هستش . کدش فرق داره