2 ضمیمه
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();
}
}
ردیف جدل فاکتورم در دیتابیس بصورت زیره:
ضمیمه 149549
همانطور که میبینید ریف تکراری ندارم.
ولی در گریدویم پروژم بعد از اینکه هر بار قبول میکنم که میخوام اقلام جدید وارد کنم،ردیف تکراری در گرید ویو نمایش میده، ولی برا اقلام جدید نه،برنامه درست کار میکنه، فقط شماره ردیف به اندازه تعداد اقلامی که با یک شماره فاکتور ثبت شده فاصلست،گرید ویو پروژه بصورت زیره:
ضمیمه 149550
ولی شماره ردیف در دیتابیس درست درج شده.
ممنون میشم راهنماییم کنید که کدم کجاش مشکل داره و چه کدی باید بجاش بنویسم؟
اگر تکنیک برنامم هم مشکل داره یا نظری بهتر دارید ممنون میشم راهنماییم کنید.
با تشکر
نقل قول: گرید ویو، شماره ردیف را تکراری نمایش میدهد
خیلی از دوستان نسبت به اینجانب بسیار لطف داشتن و راهنماییم کردن.
ولی در مورد این تاپیک کسی نمیتونه راهنماییم کنه؟ :ناراحت::ناراحت::ناراحت::نار حت::ناراحت:
نقل قول: گرید ویو، شماره ردیف را تکراری نمایش میدهد
سلام
روش مرسوم اینه که شما شماره فاکتور رو اتومات generate کنی و فقط در یه label به کاربر نمایش بدی
بجای خط 36 از کد بالا بهتره به اینصورت کد رو جایگزین کنی
var lastRecord = db.FactorSaleTables.Select(fn => fn.FactorNo);
fcTableYes.FactorNo = (lastRecord.Max() + 1);
نقل قول: گرید ویو، شماره ردیف را تکراری نمایش میدهد
نقل قول:
نوشته شده توسط
ژیار رحیمی
سلام
روش مرسوم اینه که شما شماره فاکتور رو اتومات generate کنی و فقط در یه label به کاربر نمایش بدی
بجای خط 36 از کد بالا بهتره به اینصورت کد رو جایگزین کنی
var lastRecord = db.FactorSaleTables.Select(fn => fn.FactorNo);
fcTableYes.FactorNo = (lastRecord.Max() + 1);
آقای رحیمی واقعاً ممنون از راهنماییتون
نقل قول: گرید ویو، شماره ردیف را تکراری نمایش میدهد
نظرتون مشکل تکراری نمایش دادن شماره ردیف از کجاست؟
نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد
مشکل اینه که شما textbox شماره ردیف رو بعداز ذخیره رکورد با شماره جدید update نمیکنی
نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد
نقل قول:
نوشته شده توسط
ژیار رحیمی
مشکل اینه که شما textbox شماره ردیف رو بعداز ذخیره رکورد با شماره جدید update نمیکنی
ممنون از راهنماییتون.
ولی شماره ردیفم در دیتابیس با نام RowFact هست و توسط هیچکدوم از TextBox هام مقداردهی نمیشه بلکه توسط خود دیتابیس بصورت خودکار مقدار دهی میشه.
شماره ردیف در خود دیتابیس درسته ولی در گریدویو فرم درست نمایش نمیده. اونم بعد از اینکه میگم میخوام اقلام جدید به فاکتور اضافه کنم. وگرنه برا فاکتورهای جدید مشکل تکراری بودن ردیف رو در گرید ویو ندارم بلکه به اندازه تعداد اقلامی که به فاکتور اضافه شده برا فاکتور جدید به همون تعدد فاصله ست.
در عکس هایی ک گذاشتم کاملا مشخصه
نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد
با سلام
جدا از کدتون که کاری بهش ندارم ظاهراً شما دارید همه اطلاعات رو در یک جدول ذخیره می کنید (همانند اکسل) که بنظر من اینکار اشتباست
در این مورد قبلاً توضیح دادم شما برای جلوگیری از افزونگی داده نیاز به حداقل سه جدول دارید
یک جدول فاکتور - یک جدول اقلام فاکتور - یک جدول کالا
که ارتباط بین فاکتور و اقلام فاکتور 1 به n هست. اگر یک فاکتور داشته باشید به ازاش چندین قلم جنس دارید که از جدول کالا پر میشن
موفق باشید
نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد
نقل قول:
نوشته شده توسط
danialafshari
با سلام
جدا از کدتون که کاری بهش ندارم ظاهراً شما دارید همه اطلاعات رو در یک جدول ذخیره می کنید (همانند اکسل) که بنظر من اینکار اشتباست
در این مورد قبلاً توضیح دادم شما برای جلوگیری از افزونگی داده نیاز به حداقل سه جدول دارید
یک جدول فاکتور - یک جدول اقلام فاکتور - یک جدول کالا
که ارتباط بین فاکتور و اقلام فاکتور 1 به n هست. اگر یک فاکتور داشته باشید به ازاش چندین قلم جنس دارید که از جدول کالا پر میشن
موفق باشید
ممنون از راهنماییتون.
من از دو جدول استفاده می کنم: جدول کالا و جدول فاکتور.
با این حال ایجاد افزونگی میکنه؟
نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد
نقل قول:
نوشته شده توسط
bmvgod
ممنون از راهنماییتون.
من از دو جدول استفاده می کنم: جدول کالا و جدول فاکتور.
با این حال ایجاد افزونگی میکنه؟
به صورت اصولی بله
جدول کالا که جدول پایه هست و فقط باید کالا ازش انتخاب بشه
جدول فاکتور هم که شامل عنوان فاکتور - تاریخ فاکتور و... هست
حالا رکورد های مربوط اقلام کجا ذخیره میشن ؟
به یک جدول اقلام فاکتور نیاز دارید
اگر توی فاکتور بزارید به شکل زیر میشه که اشتباست
عنوان فاکتور |
تاریخ فاکتور |
کد کالا |
تعداد |
قیمت |
فاکتور1 |
1397/10/19 |
121 |
10 |
5000 |
فاکتور1 |
1397/10/19 |
122 |
6 |
2500 |
نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد
نقل قول:
نوشته شده توسط
danialafshari
به صورت اصولی بله
جدول کالا که جدول پایه هست و فقط باید کالا ازش انتخاب بشه
جدول فاکتور هم که شامل عنوان فاکتور - تاریخ فاکتور و... هست
حالا رکورد های مربوط اقلام کجا ذخیره میشن ؟
به یک جدول اقلام فاکتور نیاز دارید
اگر توی فاکتور بزارید به شکل زیر میشه که اشتباست
عنوان فاکتور |
تاریخ فاکتور |
کد کالا |
تعداد |
قیمت |
فاکتور1 |
1397/10/19 |
121 |
10 |
5000 |
فاکتور1 |
1397/10/19 |
122 |
6 |
2500 |
شما پیشنهاد میکنید در جداول فاکتور و اقلام فاکتور از چه فیلدهایی استفاده کنم؟
ممنون میشم راهنماییم کنید.
نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد
بستگی به برنامه و تحلیلتون داره
بهتره در بخش مربوطه مطرح کنید
https://barnamenevis.org/forumdisplay...B9%D8%A7%D8%AA
نقل قول: datagridview شماره ردیف را تکراری نمایش میدهد
اونجا که کسی حضور نداره
فقط تاپیکها بازدید کننده داره
افسوس از یک پاسخ