PDA

View Full Version : سوال: برای فیلدهای GridView چطور دستور بنویسم ؟



perkas
سه شنبه 29 مرداد 1392, 02:23 صبح
سلام

چطور میشه برای یکی از فیلدهای دیتا گرید دستوری نوشت ؟

مثلا میخوام یکی از فیلدهام رو برابر با یکی دیگه قرار بدم ( هرچی تو این فیلد نوشته شد بلا فاصله به فیلد دومی هم بره )

یا یه فیلد که از نوع باتوم هست چطور کد نویسی میشه ؟

yanni2
سه شنبه 29 مرداد 1392, 03:15 صبح
این کد و استفاده کن

dataGridView1.CurrentRow.Cells[0].Value=dataGridView1.CurrentRow.Cells[1].Value.ToString();

میتونی بجای currentRow
مقدار CurrentCell را قرار بدی

perkas
جمعه 01 شهریور 1392, 04:02 صبح
این کد و استفاده کن

dataGridView1.CurrentRow.Cells[0].Value=dataGridView1.CurrentRow.Cells[1].Value.ToString();

این دستور رو تو کدوم رویداد بنویسم

هر جا که مینویسم بجز تو باتوم خطا میزنه ؟؟؟

Mahmoud.Afrad
جمعه 01 شهریور 1392, 15:50 عصر
هر دو سوال تکراریه.

کد زیر برای کپی یکی سلول در یک جای دیگه هنگام تایپ کردن:

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox txt = e.Control as TextBox;
if (txt != null)
{
txt.TextChanged -= new EventHandler(txt_TextChanged);
txt.TextChanged += new EventHandler(txt_TextChanged);
}
}

private void txt_TextChanged(object sender, EventArgs e)
{
TextBox txt = sender as TextBox;
if (dataGridView1.CurrentRow != null && txt != null)
{
dataGridView1.CurrentRow.Cells[1].Value = txt.Text;
}
}

به جای اندیس 1 باید اندیس یا نام ستونی که میخواهی کپی توش صورت بگیره رو بزاری.

در مورد کدنویسی برای ستون باتن، قبلا مثال گذاشته شده ، کافیه جستجو کنی. (راهنمایی: باید توی رویداد cellclick کد بنویسی. اگر اندیس سلولی که کلیک شده با اندیس ستون باتن برابر بود کاری که میخواهی انجام بشه)