PDA

View Full Version : انتخاب چند سطر از datagridview



Soushiyant92
جمعه 15 آبان 1394, 13:19 عصر
سلام دوستان خسته نباشد
من یه مشکل توی سی شارپ بر خوردم میخواستم ببینم میشه دوتا از سطر های گرید ویو رو انتخاب کرد و هر دو سطر را به تکس های متفاوتی فرستاد ؟

من برای ارسال یک سطر به تکس باکس از کد زیر استفاده میکنم .

textbox1.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["Column1"].Value.ToString());

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

محمد رضا فاتحی
جمعه 15 آبان 1394, 16:15 عصر
سلام....
این کد سلول اول تمام سطرهای انتخابی رو برات استخراج می کنه....فقط باید خودت مدیریت کنی بقیه کارهاش رو

foreach (DataGridViewRow s in dataGridView1.SelectedRows)
{
string r = s.Cells[0].Value.ToString();
}

Soushiyant92
جمعه 15 آبان 1394, 16:56 عصر
ببخشید میشه کامل تر توضیح بدید من زیاد با C# آشنا نیستم

من 5 تا فیلد دارم توی گرید ویو مثلا حالا اگه ردیف اول و ردیف 10 انتخاب کنم چطور با کد بالا میتونم اطلاعات دو ردیف انتخاب شدمو بزارم توی تکس باکسها .

محمد رضا فاتحی
شنبه 16 آبان 1394, 07:19 صبح
دوست عزیزم...
من اطلاع دقیقی از فرمتون ندارم و اینکه دقیقا قراره چه اتفاقی بیوفته و هدفتون از این کار چیه؟؟یا مثلا فرمتون اونقدر انعطاف پذیر هست که اگه کاربر بیاد 10 تا ردیف رو انتخاب کنه به مشکل برنخوره...

من علی الحساب فرض رو می گیرم شما دو ردیف تکسباکس دارید که تو هر ردیف 5 تا تکس باکس و محدودیت انتخاب دو ردیف رو به کاربر می دم... با این حساب کدت یه همچین جیزی می شه...(البته کدهاش یه کم پیچیده شد...فعلا روش ساده تری به ذهنم نرسید...اگه کسی راه ساده تری داره بگه:لبخند:)


if (dataGridView1.SelectedRows.Count > 2)
{
MessageBox.Show("تعداد سطر انتخاب بیش از حد مجاز است");
}
TextBox[] txtradif1 = {txtrd11,txtrd12,txtrd13,txtrd14,txtrd15};

TextBox[] txtradif2 = { txtrd21, txtrd22, txtrd23, txtrd24, txtrd25 };
object[] obj = {txtradif1,txtradif2};
int x = 0;
foreach (DataGridViewRow s in dataGridView1.SelectedRows)
{
TextBox[] t=obj[x] as TextBox[];
for (int i = 0; i < 5; i++)
{
t[i].Text = s.Cells[i].Value.ToString();
}
x++;
}

Soushiyant92
شنبه 16 آبان 1394, 15:42 عصر
دوست عزیزم...
من اطلاع دقیقی از فرمتون ندارم و اینکه دقیقا قراره چه اتفاقی بیوفته و هدفتون از این کار چیه؟؟یا مثلا فرمتون اونقدر انعطاف پذیر هست که اگه کاربر بیاد 10 تا ردیف رو انتخاب کنه به مشکل برنخوره...

من علی الحساب فرض رو می گیرم شما دو ردیف تکسباکس دارید که تو هر ردیف 5 تا تکس باکس و محدودیت انتخاب دو ردیف رو به کاربر می دم... با این حساب کدت یه همچین جیزی می شه...(البته کدهاش یه کم پیچیده شد...فعلا روش ساده تری به ذهنم نرسید...اگه کسی راه ساده تری داره بگه:لبخند:)


if (dataGridView1.SelectedRows.Count > 2)
{
MessageBox.Show("تعداد سطر انتخاب بیش از حد مجاز است");
}
TextBox[] txtradif1 = {txtrd11,txtrd12,txtrd13,txtrd14,txtrd15};

TextBox[] txtradif2 = { txtrd21, txtrd22, txtrd23, txtrd24, txtrd25 };
object[] obj = {txtradif1,txtradif2};
int x = 0;
foreach (DataGridViewRow s in dataGridView1.SelectedRows)
{
TextBox[] t=obj[x] as TextBox[];
for (int i = 0; i < 5; i++)
{
t[i].Text = s.Cells[i].Value.ToString();
}
x++;
}



ممنون عالی بود همونی که میخواستم .