+2 امتیاز

سلام. داخل یک فرم، اطلاعات از طریق جعبه‌ی متن به یک DataGridView خالی فرستاده میشه؛
میخوام از ورود اطلاعات تکراری جلوگیری کنم؛ و اگر تکراری بود فیلد Number با فیلد Number قبلی عوض بشه!
شرط تکراری بودن هم نام و نام خانوادگی تکراریه! مشکلی که دارم اینه که فقط سطر اول رو بررسی میکنه؛
یعنی اگر اطلاعاتی که در حال اضافه شدن بود با سطر اول DataGridView برابر بود، عملیات انجام میشه در غیر اینصورت نه! (سطر تکراری ثبت میشه)
در واقع فاکتور فروش هست که بعد از تکمیل شدن DataGridView باید اطلاعاتش به یک جدول اضافه و با یک جدول دیگر محاسباتی از قبیل کم کردن تعداد کالای فروخته شده انجام شود!

 

foreach (DataGridViewRow row in dataGridView1.Rows)
	{
		if ((row.Cells[1].Value.ToString().Equals(txt_Name.Text)) && (row.Cells[2].Value.ToString().Equals(txt_Family.Text)))
			{
				row.Cells[3].Value = txt_Number.Text;
				break;
			}
		else
			{
				dt.Rows.Add(txt_Code.Text, txt_Name.Text, txt_Family.Text, txt_Number.Text);
				break;
			}
	}

 

بسته شده

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

خیلی ممنون که جواب ندادین smiley

try
{
    for (int i = 0; i < dataGridView1.RowCount; i++)
    {
        if (dataGridView1.Rows[i].Cells[0].Value.ToString() == txt_FName.Text)
        {
            dataGridView1.Rows[i].Cells[2].Value = [any proccess] ; // Update Row
            return;
        }
    }
}
catch(Exception ex)
{
    MessageBox.Show(ex.Message);
}
dataGridView1.Rows.Add(txt_FName.Text, txt_LName.Text, txt_Number.Text); // New Row

 

سلام.

اگر امکان درج مقادیر رشته ای انگلیسی در تکست باکس و دیتاگرید ویو وجود داره از متد ToLower ، ToUpper یا از متد Compare  استفاده کنید تا مشکل حساسیت به حروف کوچک و بزرگ  رفع بشه.

        if (dataGridView1.Rows[i].Cells[0].Value.ToString().ToLower() == txt_FName.Text.ToLower())

 

توسط (2,595 امتیاز) 5 15 90
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,921 کاربر

دسته بندی ها

...