PDA

View Full Version : دیتا گرید



parvin joon
چهارشنبه 03 مرداد 1386, 13:52 عصر
توی دیتا گرید ویو یه فیلد بنام کد دارم می خوام وقتی اینتر می زنم فیلد کد در رکورد بعدی به صورت خودکار ظاهر شود
خواهش می کنم راهنماییم کنید که چطوری فیلد رکورد بعدی را با استفاده ز کد پر کنم

once4ever
چهارشنبه 03 مرداد 1386, 14:21 عصر
کجاش مشکل داری؟

datagridview1[cell,row].value="..."

ghafoori
چهارشنبه 03 مرداد 1386, 19:53 عصر
دوست عزیز چرا از خاصیت AutoIncrement کلاس column استفاده نمی کنید دیگر نیازی هم به کد ندارد

parvin joon
پنج شنبه 04 مرداد 1386, 15:55 عصر
کجاش مشکل داری؟

datagridview1[cell,row].value="..."




من میخواهم رکورد سطر بعد ام با زدن اینتر با توجه به رکورد قبلی پر شه ولی وقتی اینتر می زنم error out of rangeمی ده
اینم کدم

int w = dataGridView1.CurrentCell.RowIndex;
string v = dataGridView1.Rows[w].Cells[0].Value.ToString();
int x = w + 1;
dataGridView1.Rows[x].Cells[0].Value = v;
لطفا راهنماییم کنید

parvin joon
پنج شنبه 04 مرداد 1386, 15:56 عصر
دوست عزیز چرا از خاصیت AutoIncrement کلاس column استفاده نمی کنید دیگر نیازی هم به کد ندارد


ببخشید این خاصیت توی propertyدیتاگرید ویو نیست میشه راهنماییم کنید چطوری باید استفاده کنم.

parvin joon
پنج شنبه 04 مرداد 1386, 16:00 عصر
دوست عزیز چرا از خاصیت AutoIncrement کلاس column استفاده نمی کنید دیگر نیازی هم به کد ندارد


ببخشید این خاصیت توی property دیتاگرید ویو نیست من چه جوری باید از آن استفاده کنم لطفا راهنماییم کنید این نکته هم رو بگم که سطر بعدی دیتا گرید ویو باتوجه به اطلاعات سطر قبلی پر میشه

ghafoori
پنج شنبه 04 مرداد 1386, 17:31 عصر
این خاصیت در داخل ستون دیتاتیبل وجود دارد وقتی ان را فعال کنی با ایجاد یک رکورد جدید برنامه به طور خودکار مقدار بعدی را داخل فیلد مربوط قرار می دهیدمن داخل پروژه هام از این روش استفاده می کنم

vpourshab
پنج شنبه 04 مرداد 1386, 18:32 عصر
من میخواهم رکورد سطر بعد ام با زدن اینتر با توجه به رکورد قبلی پر شه ولی وقتی اینتر می زنم error out of rangeمی ده
اینم کدم

int w = dataGridView1.CurrentCell.RowIndex;
string v = dataGridView1.Rows[w].Cells[0].Value.ToString();
int x = w + 1;
dataGridView1.Rows[x].Cells[0].Value = v;
لطفا راهنماییم کنید

شما باید ببینید که فیلد کد شما از نوع string است که دارید مقدار رشته درون آن می ریزید باید مقداری که درون سلول می ریزید با نوع فیلد شما همخوانی داشته باشد و یا اینکه فیلد خود را از نوع BigInt تعریف کنید.

parvin joon
پنج شنبه 04 مرداد 1386, 19:59 عصر
این خاصیت در داخل ستون دیتاتیبل وجود دارد وقتی ان را فعال کنی با ایجاد یک رکورد جدید برنامه به طور خودکار مقدار بعدی را داخل فیلد مربوط قرار می دهیدمن داخل پروژه هام از این روش استفاده می کنم


از راهنماییتون ممنونم ولی من نفهمیدم منظورتون از دیتا تیبل کدومه همونی که در دیتا ست ذخیره کردم
میشه یک نمونه کدشو برام بفرستید با تشکر

once4ever
پنج شنبه 04 مرداد 1386, 22:18 عصر
int w = dataGridView1.CurrentCell.RowIndex;
string v = dataGridView1.Rows[w].Cells[0].Value.ToString();
int x = w + 1;
dataGridView1.Rows[x].Cells[0].Value = v;

مشکل شما فقط در مکانیه که این کد قرار میدی
چون در اون حالت هنوز ردیف جدید ایجاد نشده ( int x = w + 1 )

راه حل:
همین کد در رویداد RowsAdded از دیتاگریدت قرار بده.