PDA

View Full Version : مارک کردن یک سطر در گرید ویو



mzamani
دوشنبه 17 اردیبهشت 1386, 13:05 عصر
با سلام
من یک datagridview دارم. می خواهم با انتخاب یک فیلد در یک رکورد یا سطر ، کل اون سطر مارک بشه. لطفا مرا راهنمایی کنید

iman_s52
دوشنبه 17 اردیبهشت 1386, 13:25 عصر
واسه رویداد CurrentCellChanged مربوط به گرید
DataGridCell myCell = dataGrid1.CurrentCell;
dataGrid1.Select(myCell.RowNumber);

البته این تویه VS2003.

sepelloo
سه شنبه 18 اردیبهشت 1386, 02:22 صبح
از این راه استفاده کن
در برگه property دیتاگرید ویو RowSelectmode یا همچین چیزی را روی FullrowSelect قرار بده

Sorenaa_s
سه شنبه 18 اردیبهشت 1386, 10:17 صبح
protected override void OnMouseUp(MouseEventArgs e)
{
base.OnMouseUp (e);
DataGrid.HitTestInfo hit = this.HitTest(e.X, e.Y);
if(hit.Type == DataGrid.HitTestType.Cell)
this.Select(hit.Row);
}
protected overri devoid OnCurrentCellChanged(EventArgs e)
{
base.OnCurrentCellChanged (e);
this.Select(this.CurrentRowIndex);
}

farnaz2003
چهارشنبه 19 اردیبهشت 1386, 11:21 صبح
مرسی از راهنمایی تون
من می خوام علاوه بر اینکه مارک میشه ،کرسر (منظورم اون فلشه کنار رکورده )هم روی همون رکورد قرار بگیره.

Sorenaa_s
چهارشنبه 19 اردیبهشت 1386, 11:23 صبح
با همین کد بالا این اتفاق میوفته.

farnaz2003
چهارشنبه 19 اردیبهشت 1386, 11:32 صبح
ببینید من داخل برنامه می خوام یک رکورد خاص را مارک کنم و کرسر هم روی همون باشه
این کد را هم اصلا نمی فهمم
من از طریق این RowSelectmode و تنظیمش روی FullrowSelect فعلا مارکش کردم اما کرسر روش نیست.

Sorenaa_s
چهارشنبه 19 اردیبهشت 1386, 11:36 صبح
DataGrid.SelectedRowIndex = i

farnaz2003
چهارشنبه 19 اردیبهشت 1386, 11:39 صبح
ببخشید من یادم رفت بگم وقتی با ماوس یک رکورد را انتخاب می کنم،نتیجه می ده مشکل مال وقتی من نتیجه یک select را برمی گردونم و به datagridview می ریزم و مایلم
یک سطر خاصش مارک شده و کرسر هم روش باشه (نه به طور default سطر اول).

حالا مارکش می تونم بکنم اما کرسر روش نیست.

xxxxxxxxxx
چهارشنبه 19 اردیبهشت 1386, 23:10 عصر
سلام فکرکنم جواب sorenna_s کافی بود لکن یکی ازاینها کرسر را تنظیم می کند دیگری رنگ زمینه را dataGrid1.CurrentRowIndex = i ;
dataGrid1.Select( i);
البته اگر ایندکس رکورد مورد نظر را ( i ) داشته باشی
درضمن این ساعت اشتباه یا بقیه که من بعد از بقیه جواب دادم ولی یک ساعت قبل از بقیه زده

farnaz2003
پنج شنبه 20 اردیبهشت 1386, 09:31 صبح
ببخشید می شه بدونم شما این کد ها رو کجا تست کردین که جواب گرفتین
من با VS 2005 کار می کنم و به این کدها error می ده

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

dataGridView1.Rows[i].Selected = true
اما این کد کرسر (فلش کوچک کنار رکورد )را روش نمی یاره و فلشه همچنان سر رکورد اول باقی مونده.

ممنون اگه راهنمایی کنید

mzamani
شنبه 22 اردیبهشت 1386, 08:43 صبح
سلام
من هم همین مشکل رو دارم
این کدها که دوستان داده اند error میده؟؟؟؟؟؟؟؟؟؟؟:متفکر:

farnaz2003
شنبه 22 اردیبهشت 1386, 14:08 عصر
با سلام
حداقل یکی بگه نمیشه خیال ما رو راحت کنه؟
فکر نمی کنم چیز زیاد پیچیده یا سختی باشه
مرسی

Mojtaba_ss
شنبه 22 اردیبهشت 1386, 15:29 عصر
دوستان عزیز اگه با DataSet کار می کنید روش کار اینطوریه:
1- چه سطری انتخاب شده باشه:



dataGridView1.Rows[2].Selected = true;



2- برای اینکه کرسر(فلش کوچک کنار رکورد)بیاد کنار سطر انتخاب شده:



this.BindingContext[ds, "tblUsers"].Position = 2;




ds نام DataSet منه.
tblUsers نام جدول منه.
امیدورام مشکل حل بشه،در ضمن کار نشد نداره!!!
رو سیستم من که کار می کنه(همین الان امتحانش کردم:چشمک: )
موفق باشید.

farnaz2003
دوشنبه 24 اردیبهشت 1386, 09:37 صبح
باور کنید نمیشه
مثل قبل فقط مارک میشه اما کرسر سر سطر اوله.
شاید قبلش یه جایی باید یه تنظیمی انجام بدم؟(مثلا تو Properties اش)

mzamani
دوشنبه 24 اردیبهشت 1386, 10:20 صبح
سلام
راستش من هم این کد رو امتحان کردم
ولی select می شه ولی مارکر تغییر نمی کنه
می شه از ابتدا بگید چی کار باید بکنم؟:ناراحت:

Mojtaba_ss
دوشنبه 24 اردیبهشت 1386, 10:37 صبح
اما من همین کدی رو که نوشتم کار می کنه!!!!!
اول میگید که کدوم سطر انتخاب شده باشه.
بعدش برای کرسر position مربوط به dataset رو باید عوض کنید.
من همین الان دوباره امتحان کردن،هیچ مشکلی نداشت.
دیگه اگه کار نکنه نمیدونم باید چی کار کرد؟؟؟؟؟؟؟!!!!!!!!!!!!