نمایش نتایج 1 تا 13 از 13

نام تاپیک: datagridview شماره ردیف را تکراری نمایش میدهد

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    تهران
    پست
    227

    Question datagridview شماره ردیف را تکراری نمایش میدهد

    باسلام خدمت دوستان
    در پروژم بعد از اینکه عمل درج انجام میشه، پیغامی گذاشتم مبنی بر اینکه: آیا اقلام جدیدی میخواهید اضافه کنید؟
    که کاربر اگر گزینه Yes را انتخاب کنه، دوباره اطلاعات رو میگیره و با همون شماره فاکتور و تاریخ درج میکنه.
    اطلاعات درج میشه ولی مشکل اینکه شماره ردیفم در گرید ویو تکراری نمایش میده، درحالی که در جدول دیتابیس شماره ردیف درسته درج شده.
    من از کد زیر استفاده کردم:

    private void btnInsert_Click(object sender, EventArgs e)
    {
    db = new LinqToTrazoDataContext();
    var fcTable = new FactorSaleTable();

    fcTable.SaleDate = DateTime.Now;
    fcTable.FactorNo = int.Parse(txtCodFactor.Text);
    fcTable.CommodCodFact = txtSaleCodCommodity.Text;
    fcTable.CommodName = cmbCommodityName.Text;
    fcTable.CompanyName = txtNameCO.Text;
    fcTable.Number = Int16.Parse(txtNumber.Text);
    fcTable.TotalPrice = float.Parse(txtTotalPrice.Text);
    fcTable.Weight = float.Parse(txtWeight.Text);
    fcTable.TotalWeight = float.Parse(txtTotalWeight.Text);
    fcTable.CommodSize = txtSize.Text;
    fcTable.UnitPrice = float.Parse(txtUnitPrice.Text);
    fcTable.Tax = float.Parse(txtTax.Text);
    fcTable.Dicount = float.Parse(txtTax.Text);

    db.FactorSaleTables.InsertOnSubmit(fcTable);
    db.SubmitChanges();
    dgvSalesInvoi.DataSource = db.FactorSaleTables;
    DialogResult result = MessageBox.Show("آیا اقلام جدیدی میخواهید وارد کنید؟",
    "وضعیت خرید", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
    MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
    if (result == DialogResult.Yes)
    {
    txtNumber.Text = "0";
    txtWeight.Text = "0";
    txtTotalWeight.Text = "0";
    txtTotalPrice.Text = "0";

    db = new LinqToTrazoDataContext();
    fcTableYes = new FactorSaleTable();
    fcTableYes.SaleDate = DateTime.Now;
    fcTableYes.FactorNo = int.Parse(txtCodFactor.Text);
    fcTableYes.CommodCodFact = txtSaleCodCommodity.Text;
    fcTableYes.CommodName = cmbCommodityName.Text;
    fcTableYes.CompanyName = txtNameCO.Text;
    fcTableYes.Number = Int16.Parse(txtNumber.Text);
    fcTableYes.TotalPrice = float.Parse(txtTotalPrice.Text);
    fcTableYes.Weight = float.Parse(txtWeight.Text);
    fcTableYes.TotalWeight = float.Parse(txtTotalWeight.Text);
    fcTableYes.CommodSize = txtSize.Text;
    fcTableYes.UnitPrice = float.Parse(txtUnitPrice.Text);
    fcTableYes.Tax = float.Parse(txtTax.Text);
    fcTableYes.Dicount = float.Parse(txtTax.Text);

    db.FactorSaleTables.InsertOnSubmit(fcTableYes);
    db.SubmitChanges();
    dgvSalesInvoi.DataSource = db.FactorSaleTables;
    }
    else if (result == DialogResult.No)
    {
    var lastRecord = db.FactorSaleTables.Select(fn => fn.FactorNo);
    txtCodFactor.Text = (lastRecord.Max() + 1).ToString();
    txtNumber.Clear();
    txtWeight.Clear();
    txtTotalWeight.Clear();
    txtTotalPrice.Clear();
    }
    if (btnInsert.Text == "ویرایش")
    {
    SelectedIndexId = int.Parse(dgvSalesInvoi.CurrentRow.Cells["RowFact"].Value.ToString());

    db = new LinqToTrazoDataContext();
    var fcTableEdit = db.FactorSaleTables.Where(c=>c.RowFact==SelectedIn dexId).Single();
    //SaleDate = DateTime.Now,
    //FactorNo = int.Parse(txtCodFactor.Text),
    fcTableEdit.CommodCodFact = txtSaleCodCommodity.Text;
    fcTableEdit.CommodName = cmbCommodityName.Text;
    fcTableEdit.CompanyName = txtNameCO.Text;
    fcTableEdit.Number = Int16.Parse(txtNumber.Text);
    fcTableEdit.TotalPrice = float.Parse(txtTotalPrice.Text);
    fcTableEdit.Weight = float.Parse(txtWeight.Text);
    fcTableEdit.TotalWeight = float.Parse(txtTotalWeight.Text);
    fcTableEdit.CommodSize = txtSize.Text;
    fcTableEdit.UnitPrice = float.Parse(txtUnitPrice.Text);
    fcTableEdit.Tax = float.Parse(txtTax.Text);
    fcTableEdit.Dicount = float.Parse(txtTax.Text);

    btnInsert.Text = "درج";
    //db.FactorSaleTables.InsertOnSubmit(fcTableEdit);
    db.SubmitChanges();
    dgvSalesInvoi.DataSource = db.FactorSaleTables;

    txtNumber.Clear();
    txtWeight.Clear();
    txtTotalWeight.Clear();
    txtTotalPrice.Clear();
    }
    }


    ردیف جدل فاکتورم در دیتابیس بصورت زیره:
    sqlFator.jpg
    همانطور که میبینید ریف تکراری ندارم.
    ولی در گریدویم پروژم بعد از اینکه هر بار قبول میکنم که میخوام اقلام جدید وارد کنم،ردیف تکراری در گرید ویو نمایش میده، ولی برا اقلام جدید نه،برنامه درست کار میکنه، فقط شماره ردیف به اندازه تعداد اقلامی که با یک شماره فاکتور ثبت شده فاصلست،گرید ویو پروژه بصورت زیره:
    grFactor.jpg


    ولی شماره ردیف در دیتابیس درست درج شده.
    ممنون میشم راهنماییم کنید که کدم کجاش مشکل داره و چه کدی باید بجاش بنویسم؟
    اگر تکنیک برنامم هم مشکل داره یا نظری بهتر دارید ممنون میشم راهنماییم کنید.
    با تشکر
    آخرین ویرایش به وسیله bmvgod : پنج شنبه 13 دی 1397 در 18:47 عصر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    تهران
    پست
    227

    Unhappy نقل قول: گرید ویو، شماره ردیف را تکراری نمایش میدهد

    خیلی از دوستان نسبت به اینجانب بسیار لطف داشتن و راهنماییم کردن.

    ولی در مورد این تاپیک کسی نمیتونه راهنماییم کنه؟

  3. #3
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: گرید ویو، شماره ردیف را تکراری نمایش میدهد

    سلام
    روش مرسوم اینه که شما شماره فاکتور رو اتومات generate کنی و فقط در یه label به کاربر نمایش بدی
    بجای خط 36 از کد بالا بهتره به اینصورت کد رو جایگزین کنی

    var lastRecord = db.FactorSaleTables.Select(fn => fn.FactorNo);
    fcTableYes.FactorNo = (lastRecord.Max() + 1);
    First,solve the problem then write the code

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    تهران
    پست
    227

    Thumbs up نقل قول: گرید ویو، شماره ردیف را تکراری نمایش میدهد

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    سلام
    روش مرسوم اینه که شما شماره فاکتور رو اتومات generate کنی و فقط در یه label به کاربر نمایش بدی
    بجای خط 36 از کد بالا بهتره به اینصورت کد رو جایگزین کنی

    var lastRecord = db.FactorSaleTables.Select(fn => fn.FactorNo);
    fcTableYes.FactorNo = (lastRecord.Max() + 1);
    آقای رحیمی واقعاً ممنون از راهنماییتون

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    تهران
    پست
    227

    Question نقل قول: گرید ویو، شماره ردیف را تکراری نمایش میدهد

    نظرتون مشکل تکراری نمایش دادن شماره ردیف از کجاست؟

  6. #6
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد

    مشکل اینه که شما textbox شماره ردیف رو بعداز ذخیره رکورد با شماره جدید update نمیکنی
    First,solve the problem then write the code

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    تهران
    پست
    227

    Question نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    مشکل اینه که شما textbox شماره ردیف رو بعداز ذخیره رکورد با شماره جدید update نمیکنی
    ممنون از راهنماییتون.
    ولی شماره ردیفم در دیتابیس با نام RowFact هست و توسط هیچکدوم از TextBox هام مقداردهی نمیشه بلکه توسط خود دیتابیس بصورت خودکار مقدار دهی میشه.
    شماره ردیف در خود دیتابیس درسته ولی در گریدویو فرم درست نمایش نمیده. اونم بعد از اینکه میگم میخوام اقلام جدید به فاکتور اضافه کنم. وگرنه برا فاکتورهای جدید مشکل تکراری بودن ردیف رو در گرید ویو ندارم بلکه به اندازه تعداد اقلامی که به فاکتور اضافه شده برا فاکتور جدید به همون تعدد فاصله ست.
    در عکس هایی ک گذاشتم کاملا مشخصه

  8. #8
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد

    با سلام
    جدا از کدتون که کاری بهش ندارم ظاهراً شما دارید همه اطلاعات رو در یک جدول ذخیره می کنید (همانند اکسل) که بنظر من اینکار اشتباست
    در این مورد قبلاً توضیح دادم شما برای جلوگیری از افزونگی داده نیاز به حداقل سه جدول دارید
    یک جدول فاکتور - یک جدول اقلام فاکتور - یک جدول کالا
    که ارتباط بین فاکتور و اقلام فاکتور 1 به n هست. اگر یک فاکتور داشته باشید به ازاش چندین قلم جنس دارید که از جدول کالا پر میشن
    موفق باشید
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

  9. #9
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    تهران
    پست
    227

    نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    با سلام
    جدا از کدتون که کاری بهش ندارم ظاهراً شما دارید همه اطلاعات رو در یک جدول ذخیره می کنید (همانند اکسل) که بنظر من اینکار اشتباست
    در این مورد قبلاً توضیح دادم شما برای جلوگیری از افزونگی داده نیاز به حداقل سه جدول دارید
    یک جدول فاکتور - یک جدول اقلام فاکتور - یک جدول کالا
    که ارتباط بین فاکتور و اقلام فاکتور 1 به n هست. اگر یک فاکتور داشته باشید به ازاش چندین قلم جنس دارید که از جدول کالا پر میشن
    موفق باشید
    ممنون از راهنماییتون.
    من از دو جدول استفاده می کنم: جدول کالا و جدول فاکتور.
    با این حال ایجاد افزونگی میکنه؟

  10. #10
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد

    نقل قول نوشته شده توسط bmvgod مشاهده تاپیک
    ممنون از راهنماییتون.
    من از دو جدول استفاده می کنم: جدول کالا و جدول فاکتور.
    با این حال ایجاد افزونگی میکنه؟
    به صورت اصولی بله
    جدول کالا که جدول پایه هست و فقط باید کالا ازش انتخاب بشه
    جدول فاکتور هم که شامل عنوان فاکتور - تاریخ فاکتور و... هست
    حالا رکورد های مربوط اقلام کجا ذخیره میشن ؟
    به یک جدول اقلام فاکتور نیاز دارید
    اگر توی فاکتور بزارید به شکل زیر میشه که اشتباست
    عنوان فاکتور تاریخ فاکتور کد کالا تعداد قیمت
    فاکتور1 1397/10/19 121 10 5000
    فاکتور1 1397/10/19 122 6 2500
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

  11. #11
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    تهران
    پست
    227

    Question نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    به صورت اصولی بله
    جدول کالا که جدول پایه هست و فقط باید کالا ازش انتخاب بشه
    جدول فاکتور هم که شامل عنوان فاکتور - تاریخ فاکتور و... هست
    حالا رکورد های مربوط اقلام کجا ذخیره میشن ؟
    به یک جدول اقلام فاکتور نیاز دارید
    اگر توی فاکتور بزارید به شکل زیر میشه که اشتباست
    عنوان فاکتور تاریخ فاکتور کد کالا تعداد قیمت
    فاکتور1 1397/10/19 121 10 5000
    فاکتور1 1397/10/19 122 6 2500
    شما پیشنهاد میکنید در جداول فاکتور و اقلام فاکتور از چه فیلدهایی استفاده کنم؟
    ممنون میشم راهنماییم کنید.

  12. #12
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد

    بستگی به برنامه و تحلیلتون داره
    بهتره در بخش مربوطه مطرح کنید
    https://barnamenevis.org/forumdisplay...B9%D8%A7%D8%AA
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

  13. #13
    کاربر دائمی
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    212

    نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد

    اونجا که کسی حضور نداره
    فقط تاپیکها بازدید کننده داره
    افسوس از یک پاسخ

تاپیک های مشابه

  1. پاسخ: 4
    آخرین پست: جمعه 09 آبان 1399, 17:49 عصر
  2. پاسخ: 4
    آخرین پست: پنج شنبه 14 آبان 1394, 23:09 عصر
  3. سوال: کپی کردن کامل یک DataGridView به DataGridView دیگر
    نوشته شده توسط ahangari365 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: دوشنبه 08 اردیبهشت 1393, 18:38 عصر
  4. پاسخ: 8
    آخرین پست: شنبه 21 اردیبهشت 1392, 12:33 عصر
  5. پاسخ: 2
    آخرین پست: پنج شنبه 11 خرداد 1391, 08:32 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •