PDA

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



docendo
سه شنبه 24 بهمن 1391, 18:08 عصر
با درود
نخواستم تایپک اضافی بزنم که که اسپم نباشد

سوال اول
چگونه با یک تکست باکس در دو تیبل یک دیتابیس همزمان بنویسیم
توضیح یک دیتا بیس بنام Alfa داریم که در توش دو تا تیبل A و B داریم وقتی توی تکست باکسمان یک شماره مثلا 1234 میدهیم این شماره در هر دو تیبل A و B ذخیره شود

سوال دوم
استفاده از Backspace است که اگر در سلول عددی بجای عدد تکست نوشته شده بعد از دیدن پیغام اخطار وقتی پیغام را میبندیم تکست سلول مورد نظر پاک شود

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

قبلا جستجو کرده ام وجواب این سوالهارا کلا در این سایت نبود

khokhan
سه شنبه 24 بهمن 1391, 19:45 عصر
برای خالی بودن یک سلول :

در رویداد CellValidating دیتا گرید


tryprivate void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (dataGridView1.Columns[e.ColumnIndex].Name == "Column1")
{
if (String.IsNullOrEmpty(e.FormattedValue.ToString()) )
{
dataGridView1.Rows[e.RowIndex].ErrorText =
"فیلد کد پرسنکی نباید خالی بماند ";
e.Cancel = true;
}
}
}

docendo
سه شنبه 24 بهمن 1391, 22:00 عصر
دستتان درد نکند
جواب نداد

docendo
سه شنبه 24 بهمن 1391, 22:28 عصر
برای خالی بودن یک سلول :

در رویداد CellValidating دیتا گرید


tryprivate void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (dataGridView1.Columns[e.ColumnIndex].Name == "Column1")
{
if (String.IsNullOrEmpty(e.FormattedValue.ToString()) )
{
dataGridView1.Rows[e.RowIndex].ErrorText =
"فیلد کد پرسنکی نباید خالی بماند ";
e.Cancel = true;
}
}
}


این کدی نوشته اید ایرادی ندارد کار میکند اما توی برنامه من کار نمیکند زیرا

من سلول 2و 3 را باهم ضرب کرده و حاصل را به سلول 4 میفرستم وقتی به سلول 4 کلیک میکنم از برنامه خارج میشود زیرا سلول 4 همزمان باید ضرب دو سلول را انجام داده و در خود نشان دهد وقتی یکی از سلول های 2 و 3 خالی باشد نمیتونه حاصل ضرب را انجام دهد

docendo
چهارشنبه 25 بهمن 1391, 14:05 عصر
سه سوال داشتم سه پاسخ درست میخواهم لطفا کمک

hamid_hr
چهارشنبه 25 بهمن 1391, 16:53 عصر
for (int i = 0; i < Dgrid2.Rows.Count; i++)
{
for (int j = 0; j < Dgrid2.Columns.Count; j++)
{
if (Dgrid2[j, i].Value == null | Dgrid2[j, i].Value.ToString() == "")
MessageBox.Show("اين خانه خالي است : " + i.ToString() + ":" + j.ToString());
}
}


تو ديتا گريد ميگرده اگه خالي بود پيغام ميده

hamid_hr
چهارشنبه 25 بهمن 1391, 16:56 عصر
Dgrid2[j, i].Value == ""


با اين تكست داخل سلول مورد نظر رو پاك كن

hamid_hr
چهارشنبه 25 بهمن 1391, 17:05 عصر
در مورد سئال سوم

بايد تو رويداد Cellclick ديتا گريد ويو اينو بنويسي


for (int i = 0; i < Dgrid2.Rows.Count; i++)
{
try
{
Dgrid2.Rows[i].Cells[0].Value = i + 1;
}
catch { }
}

docendo
چهارشنبه 25 بهمن 1391, 18:42 عصر
for (int i = 0; i < Dgrid2.Rows.Count; i++)
{
for (int j = 0; j < Dgrid2.Columns.Count; j++)
{
if (Dgrid2[j, i].Value == null | Dgrid2[j, i].Value.ToString() == "")
MessageBox.Show("اين خانه خالي است : " + i.ToString() + ":" + j.ToString());
}
}



تو ديتا گريد ميگرده اگه خالي بود پيغام ميده


با درود

این کد بظاهر درست است اما اگر در هر دیتا گرید برای مثال 5 ستون داشته باشیم این کد شما ده بار میخونه سلول خالی است که بدرد من نمیخورد
منظور من این بود که اگر روی سلول 5 که حاصل ضرب سلول 2 و 3 است کلیک کنم و اگر سلول 2 یا 3 فراموش کردم عدد بنویسم پیفام دهد سلول 2 یا 3 خالی است

docendo
چهارشنبه 25 بهمن 1391, 18:43 عصر
در مورد سئال سوم

بايد تو رويداد Cellclick ديتا گريد ويو اينو بنويسي


for (int i = 0; i < Dgrid2.Rows.Count; i++)
{
try
{
Dgrid2.Rows[i].Cells[0].Value = i + 1;
}
catch { }
}


اما این کد شما واقعا بدردم خورد دستتان درد نکند

docendo
چهارشنبه 25 بهمن 1391, 22:45 عصر
دوتا سوال مانده


سوال اول
چگونه Foreach loop بنویسم که وقتی فراموش کردیم یک سلول پرکنیم پیغام دهد که سلول خالی است

سوال دوم
استفاده از Backspace است که اگر در سلول عددی بجای عدد تکست نوشته شده بعد از دیدن پیغام اخطار وقتی پیغام را میبندیم تکست سلول مورد نظر پاک شود قبلا جستجو کرده ام وجواب این سوالهارا کلا در این سایت نبود

hamid_hr
پنج شنبه 26 بهمن 1391, 09:44 صبح
if (Dgrid2[j, i].Value == null | Dgrid2[j, i].Value.ToString() == "")


سلام
سوال اولت جوابش همينه

يكم هم خودت تغيير بدي درست ميشه
مثلا تو رويداد cellclick ديتا گريد اول نگاه كنه ببينه اگه سلول 5 انتخاب شده بود بياد سلول دو و سه رو چك كنه اگه خالي بود كاري كه ميخواي انجام بده

hamid_hr
پنج شنبه 26 بهمن 1391, 09:57 صبح
سوال دومم هم بايد تو رويداد endeditcell اينو بزاري

int x = e.ColumnIndex;
int y = e.RowIndex;
try
{
long.Parse(Dgrid2[y, x].Value.ToString());
}
catch
{
Dgrid2[y, x].Value = "";
}


اينم بگم اگه خواستي يك سلول خاص اين كارو بكنه يك if قبل از long.parse بزار

docendo
یک شنبه 06 اسفند 1391, 10:30 صبح
سوال اول
چگونه با یک تکست باکس در دو تیبل یک دیتابیس همزمان بنویسیم
توضیح یک دیتا بیس بنام Alfa داریم که در توش دو تا تیبل A و B وجود دارد وقتی توی تکست باکسمان یک شماره مثلا 1234 میدهیم این شماره در هر دو تیبل A و B Aذخیره شود

zayens
یک شنبه 06 اسفند 1391, 11:49 صبح
گیر دادیا!!

عملیات insert را خب دوبار انجام بده. کاری که نداره!
insert into TableA (column1) values (@yourdata) ; // and
insert into TableB (column1) values (@yourdata) ;//@yourdata is 1234

docendo
یک شنبه 06 اسفند 1391, 12:35 عصر
گیر دادیا!!

عملیات insert را خب دوبار انجام بده. کاری که نداره!
insert into TableA (column1) values (@yourdata) ; // and
insert into TableB (column1) values (@yourdata) ;//@yourdata is 1234


یک دستتان درد نکند لطف کردید
دو خوب انسان فراموش کار است شما فراموشی منو ببخشید
سه اگر دوست دارید پاسخ ندهید بیخیال شوید (گیر دادی) یعنی چه

gwbasic
یک شنبه 06 اسفند 1391, 13:08 عصر
سلام دوست عزیز
بیش از 200 پست زدید توقع می ره که قوانین سایت رو رعایت کنید. یکی از قوانین این است که در هر تاپیک فقط یک سوال رو مطرح کنید. لطفا قبل از هر چیز قوانین قعالیت در این بخش رو مطالعه کنید.

zayens
یک شنبه 06 اسفند 1391, 13:59 عصر
سه اگر دوست دارید پاسخ ندهید بیخیال شوید (گیر دادی) یعنی چه

(گیر دادی) یعنی چه؟؟؟

یعنی...


بیش از 200 پست زدید توقع می ره که قوانین سایت رو رعایت کنید!!!!