PDA

View Full Version : سوال در مورد دیتاگرید ویو



akobar
دوشنبه 01 فروردین 1390, 23:55 عصر
سلام
من 2 دکمه دارم که میخوام یکی از اوونا وقتی یک ستون را در دیتاگریدویو انتخاب میکنم ستون انتخاب شده را با ستون سمت راستیش عوض کنه و هر بار که دکمه زده میشه این کار انجام شه و دکمه ی دیگه ستون انتخاب شده را با ستون سمت چپ عوض کنه

ehsanara
سه شنبه 02 فروردین 1390, 03:04 صبح
int Ro, Co;

private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
Ro = e.RowIndex;
Co = e.ColumnIndex;
}

private void BtnRightToLeft_Click(object sender, EventArgs e)
{
string S = dataGridView1.Rows[Ro].Cells[Co].Value.ToString();
dataGridView1.Rows[Ro].Cells[Co].Value = dataGridView1.Rows[Ro].Cells[Co-1].Value.ToString();
dataGridView1.Rows[Ro].Cells[Co - 1].Value = S;
}

private void BtnLeftToRight_Click(object sender, EventArgs e)
{
string S = dataGridView1.Rows[Ro].Cells[Co].Value.ToString();
dataGridView1.Rows[Ro].Cells[Co].Value = dataGridView1.Rows[Ro].Cells[Co + 1].Value.ToString();
dataGridView1.Rows[Ro].Cells[Co + 1].Value = S;
}

akobar
سه شنبه 02 فروردین 1390, 15:39 عصر
ممنونم از جوابتون
ولی من خودم هم که این کد را قبلا مینوشتم هر وقت valuetype دو تا ستون با هم فرق میکرد exception میداد
لطفا این کد را واسه وقتی نوع ستون ها فرق میکنه امتحان کنید
البته حلقه for هم میخواد

ehsanara
سه شنبه 02 فروردین 1390, 16:14 عصر
میخوای کل مقادیر دوستون با هم عوض شن؟ یا فیلدی که انتخاب می کنی؟

اگه میخوای کل ستون ها جابجا شن خب ValueType دوستون رو قبل از شروع جابجایی عوض کن
مثل این

dataGridView1.Columns[0].ValueType = dataGridView1.Columns[1].ValueType;

akobar
سه شنبه 02 فروردین 1390, 18:03 عصر
من میخوام دو تا ستون را با هم عوض کنم
مشکل من اونجاست که مثلا وقتی نوع یکی Int و دیگری string هست وقتی میخواد مثلا "علی" را در ستونی که نوعش int بوده بریزه error میده
حتی وقتی type ها را هم یکی میکنم