PDA

View Full Version : ذخیره مقادیر text box در datagridview



clever student
دوشنبه 23 شهریور 1388, 17:33 عصر
سلام
سه د تا تکست باکس در فرم دارم میخواهم کاربر که اطلاعات را وارد کرد مقادیر این تکست باکس ها در datagridview نوشته بشه در هر سطر هم
سه ستون دارم (فقط تو دیتا گرید نوشته بشه تو دیتا بیس ذخیره نشه !)
لطفا کمک کنید

sara.f
دوشنبه 23 شهریور 1388, 17:38 عصر
سلام
سه د تا تکست باکس در فرم دارم میخواهم کاربر که اطلاعات را وارد کرد مقادیر این تکست باکس ها در datagridview نوشته بشه در هر سطر هم
سه ستون دارم (فقط تو دیتا گرید نوشته بشه تو دیتا بیس ذخیره نشه !)
لطفا کمک کنید
سلام.


privatevoid button5_Click(object sender, EventArgs e)
{
if (textBox7.Text.Trim() == "" || textBox8.Text.Trim() == "" || textBox9.Text.Trim() == "" )
MessageBox.Show(" اطلاعات را وارد کنید");
else
{
try
{
dataGridView2.SelectedCells[1].Value = textBox7.Text.Trim();
dataGridView2.SelectedCells[2].Value = textBox8.Text.Trim();
dataGridView2.SelectedCells[3].Value = textBox9.Text.Trim();
MessageBox.Show(" ");
}
catch (Exception t)
{
label15.Text = t.Message;
}
}
}

می تونی یه دکمه بذاری که با زدن اون عملیات مورد نظرت انجام بشه.
پیروز باشی:لبخندساده:

clever student
دوشنبه 23 شهریور 1388, 17:51 عصر
میشه لطف کنی بگی این امکان وجود داره که یک دیتا گرید چند فیلد رو از دیتابیس بخونه وچندتا از فیلدهاشو از برنامه ( کاربر وارد کنه)
مثلا idرو از دیتا بیس با query بخونه قیمت رو کاربر وارد کنه

sara.f
دوشنبه 23 شهریور 1388, 18:01 عصر
میشه لطف کنی بگی این امکان وجود داره که یک دیتا گرید چند فیلد رو از دیتابیس بخونه وچندتا از فیلدهاشو از برنامه ( کاربر وارد کنه)
مثلا idرو از دیتا بیس با query بخونه قیمت رو کاربر وارد کنه
حقیقتش من تا حالا چنین کاری نکردم و اطلاع ندارم.

Salar Ashgi
دوشنبه 23 شهریور 1388, 18:37 عصر
سلام ، از کد زیر هم میتونی استفاده کنی :



datagridview1.Rows.Add(textBox1.text,textBox2.text ,textBox3.text);


موفق و پیروز باشید !!!

clever student
دوشنبه 23 شهریور 1388, 18:39 عصر
وقتی کد بالا رو مینویسم catch رو اجرا میکنه روی لیبل مینویسه
index was out of range

must be none-negative and less than the size of the collection

clever student
دوشنبه 23 شهریور 1388, 18:48 عصر
datagridview1.Rows.Add(textBox1.text, textBox2.text, textBox3.text);
فقط با یک ارگومان کار میکنه فقط تکست باکس اولی رو درج میکنه !!!!!!!!

Himalaya
سه شنبه 24 شهریور 1388, 09:00 صبح
قبلش مثلا تو لود فرمت به برنامه باید بفهمونی که گریدت چند تا ستون داره


dataGridView1.Columns.Add("num1", "عنوان ستون اول");
dataGridView1.Columns.Add("num2", "عنوان ستون دوم");
dataGridView1.Columns.Add("num3", "عنوان ستون سوم");

مثلا تو دکمه


dataGridView1.Rows.Add(1);
// بعد مقادیر توس تکس باکسها رو میریزی تو آخرین سطری که اضافه شده
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0].Value = textBox1.Text;
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[1].Value = textBox2.Text;
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[2].Value = textBox3.Text;

کنترل بقیه موارد مثلا اینکه تو تکس باکس متنی وارد شده یا نه به عهده خودت


میشه لطف کنی بگی این امکان وجود داره که یک دیتا گرید چند فیلد رو از دیتابیس بخونه وچندتا از فیلدهاشو از برنامه ( کاربر وارد کنه)
مثلا idرو از دیتا بیس با query بخونه قیمت رو کاربر وارد کنه

چرا که نه (تو C#‎‎ که کار نشد نداره) مثلا یه راهش اینه که اطلاعات رو از بانک بخونی و بریزی تو reader و بعد سطر به سطر reader رو مثلا با کد زیر تو گرید قرار بدی



while (reader.Read())
{
dataGridView1.Rows.Add(1);
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0].Value = reader.getstring(0);
}

با این کد ستون اول از گرید با مقداری که از بانک خوندی پر میشه و ستون دوم و سوم خالی میمونن که میتونی با یه کدی مشابه چیزی که دوستمون sara.f (http://barnamenevis.org/forum/member.php?u=114872)
فرمودن پرشون کنی

clever student
سه شنبه 24 شهریور 1388, 13:01 عصر
string strcon;
strcon = "Data Source=.;Initial Catalog=garner;Integrated Security=True";
SqlConnection con = new SqlConnection(strcon);
string str = "select mini ,maxi from kala where id_kala=(N'" + textBox1.Text + "')";

con.Open();

SqlCommand com = new SqlCommand(str, con);
SqlDataReader dr;
dr = com.ExecuteReader();
while (dr.Read())
{
dataGridView2.Rows.Add(1);
dataGridView2.Rows[dataGridView2.Rows.Count - 1].Cells[0].Value = dr.ToString();
}


con.Close();

کد بالا این error میده
No row can be added to a DataGridView control that does not have columns. Columns must be added first.
وقتی هم به دیتاگرید ستون اضافه میکنم سطر اول رو خالی میذاره ودر سطر دوم مینویسه
system.data.sqlcilent.datareader