PDA

View Full Version : سوال: آيا اين كد براي درج اطلاعات در ديتاگريدويو اشتباه هست؟



complexcoding
پنج شنبه 29 فروردین 1392, 13:27 عصر
با سلام
دوستان آيا اين كد براي درج اطلاعات در ديتاگريدويو اشتباه هست؟
http://complexcoding.persiangig.com/image/123.PNG

ممنون

FastCode
پنج شنبه 29 فروردین 1392, 13:44 عصر
https://www.google.com/search?q=datagridview+Add+Row

complexcoding
پنج شنبه 29 فروردین 1392, 14:17 عصر
روش غلط دوم :
private void BTinsert_Click(object sender, EventArgs e)
{
emptyRow = dataGridView1.DisplayedRowCount(true);
this.dataGridView1.Rows.Add(emptyRow, textBox1.Text);
}

complexcoding
پنج شنبه 29 فروردین 1392, 14:40 عصر
روش غلط سوم:
int index = this.dataGridView1.Rows.Count;

//and count +1 to get a new row id:
index++;
this.dataGridView1.Rows.Add();
دوستان من ارورش رو ترجمه كردم مي گه نمي تونه زماني كه كنترل به داده متصل هست سطري به ديتا گريد ويو اضافه بشه!!! خوب يعني چي؟ خوب بايد چيكار كنم؟
پيشاپيش ممنون

plus
پنج شنبه 29 فروردین 1392, 14:43 عصر
شما اگه DataGridView رو به DataTable متصل کردی، میتونی سطر رو به DataTable اضافه کنی..

complexcoding
پنج شنبه 29 فروردین 1392, 14:53 عصر
چطوري مي توني با كد نشون بدي؟

plus
پنج شنبه 29 فروردین 1392, 15:11 عصر
شما کدتون که DataTable رو به DataGridView میده بگذارید تا من بهش اضافه کنم.

complexcoding
پنج شنبه 29 فروردین 1392, 15:16 عصر
DataTable dt = new DataTable();

cmd.CommandText = "select * From phoneNumber";
da.Fill(dt);

dataGridView1.DataSource = dt;
}

private void BTinsert_Click(object sender, EventArgs e)
{
dataGridView1.Rows.Add(2);
}
ممنون

plus
پنج شنبه 29 فروردین 1392, 15:24 عصر
private void BTinsert_Click(object sender, EventArgs e)
{
if (dataGridView1.DataSource is DataTable)
{
((DataTable)dataGridView1.DataSource).Rows.Add(... );
}
}

البته اینکه مستقیم اضافه کنید یا به DataTable نمیتونم بگم کدوم بهتره...

complexcoding
پنج شنبه 29 فروردین 1392, 15:41 عصر
دستت درد نكنه فقط چرا ميره زير ستون id مي خوام بياد زير ستون phoneNumber و بعدش دوباره نرم افزار رو ران مي كنم مقادير اضافه شده درش نيست يعني سيو نمي شه؟
ممنون

plus
پنج شنبه 29 فروردین 1392, 15:51 عصر
شما وقتی یک سطری به DataTable اضافه میکنید بایستی فیلدهای مربوط به اون سطر رو به ترتیب ستونهای DataTable و با توجه به Type ستون ها مشخص کنید.احتمالا شما فقط یک مقدار میدین و اولین ستون هم Id هست و مقدارتون به عنوان Id در نظر گرفته میشه.

((DataTable)dataGridView1.DataSource).Rows.Add(1, 2, 3);

برای ذخیره هم، شما یا باید هر بار که سطری رو اضافه میکنید، اون رو توی دیتابیس هم INSERT کنید و یا اینکه با استفاده از DataAdapter، دیتابیس رو Update کنید و رکورد های اضافه شده رو اضافه کنید.

complexcoding
پنج شنبه 29 فروردین 1392, 15:54 عصر
اين ديتا آدابتر فقط يه مورد هست اونم sqldataadapter هست كه equal داره!! نمي دونم منظورت از ديتا آدابتر چيه؟ ممنون

plus
پنج شنبه 29 فروردین 1392, 15:58 عصر
همون da که شما متد Fill ش رو برای پر کردن DataTable فراخوانی کردین متد Update داره...

complexcoding
پنج شنبه 29 فروردین 1392, 16:01 عصر
متد update رو مي زنم خطا مي گيره؟

complexcoding
پنج شنبه 29 فروردین 1392, 17:25 عصر
دوستان چگونه اطلاعاتي كه در ديتاگريد ويو وارد كردم در ديتابيس ثبت كنم؟
من از اين كد استفاده كردم ولي ارور مي ده:
http://www.niloblog.com/files/images/6z3mryrcema65k25husq.jpg