PDA

View Full Version : سوال: لود مجدد آیتم های درون دیتاگریدویو



ehsan957
شنبه 26 اسفند 1391, 11:05 صبح
با سلام
توی WinFrom یک dataGridView دارم که اطلاعات یک جدول خاص را نشون میده.
یک TextBox و Button هم توی این صفحه قرار دادم که با کلیک بر روی کلید Text وارد شده در TextBox را به همان جدول اضافه کند.
حالا می خوام بعد از Insert شدن محتوای جدید به جدول dateGridView هم آپدیت بشه و آیتم جدید را نشون بده. ولی توی این کار ناموفق بودم
این را هم تست کردم که جواب نگرفتم:
dataGridView1.DataSource = XXXBindingSource;


این نکته را هم میدونم که میشه توی همون دیتاگریدویو داده جدید را افزود ولی میخوام از روش خودم استفاده کنم.

Tiam121
شنبه 26 اسفند 1391, 11:09 صبح
بعد از اضافه کردن رکورد کافیه یه جستجو بزنی و آخرین رکورد رو از جدول واکشی کنی و نمایش بدی

esafb52
شنبه 26 اسفند 1391, 11:11 صبح
دوست عزیز سرچ کن یه نمونه پروژهای پایگاه داده دانلود کن و کدهاش رو ببین
این متد رو اصلاح کن و بعد از درج در دیتابیس صداش کن

public DataSet LoadAll()
{
cmd.CommandText = "select * from اسم جدول";
cmd.Connection = con;
da.SelectCommand = cmd;
con.Open();
da.Fill(ds, "اسم جدول");
con.Close();
cmd.Parameters.Clear();
return ds;
}

ehsan957
شنبه 26 اسفند 1391, 11:12 صبح
نمی تونم از همون دیتاسورس قبلی استفاده کنم؟

Tiam121
شنبه 26 اسفند 1391, 11:14 صبح
خب دستور سرچ رو واسه کل جدول بنویس
select * from table

esafb52
شنبه 26 اسفند 1391, 11:29 صبح
نمی تونم از همون دیتاسورس قبلی استفاده کنم؟
کدت رو بذار

ehsan957
شنبه 26 اسفند 1391, 11:35 صبح
private void button1_Click(object sender, EventArgs e)
{
int rowAffected = 0;
String connString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\bank.mdf;Integrated Security=True;User Instance=True";
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand();
String cmdText = "insert into mytable (mycol) values(@n)";
cmd.CommandText = cmdText;
cmd.Parameters.AddWithValue("@n", textBox4.Text);

cmd.Connection = conn;
conn.Open();
rowAffected = cmd.ExecuteNonQuery();
conn.Close();
if (rowAffected > 0)
{
dataGridView1.DataSource = XXXBindingSource;
textBox4.Text = " ";

}
else
{
MessageBox.Show("خطا");
}
}

h_assefi
شنبه 26 اسفند 1391, 11:46 صبح
سلام
این امکان وجود نداره که شما از همون Datasource قبلی استفاده کنی به این علت که داده های این Datasource به روز نیست و دارای داده های قبلی است
پس بهتره یک متد برای این کار همون طور که دوستان گفتند بنویس و Datasource را به روز کن
موفق باشی

ehsan957
شنبه 26 اسفند 1391, 12:12 عصر
جواب را پیدا کردم و برای استفاده بقیه میذارم اینجا:

this.XXXTableAdapter.FillBy(this.bankDataSet10.XXX );