1 ضمیمه
بدست آوردن جمع براساس کد محصول
وقتی میخوام جمع تعداد محصلاتی که کد محصول یکسان دارن رو توی گرید ویو نمایش بده وقتی از کد زیر استفاده میکنم:
LinqToTrazoDataContext db = new LinqToTrazoDataContext();
var Test = from t in db.FactorSaleTables
where t.CommodCodFact == t.CommodCodFact
select new
{
Number = db.FactorSaleTables.Sum(r => r.Number),
t.CommodName
};
dataGridView1.DataSource = Test;
ولی به مشکل زیر برخورد میگنم:
ضمیمه 149998
ارقام یکسان با نام کالاهای تکراری.
ممنون میشم راهنماییم کنید
با تشکر فرواوان از تمامی بزرگواران
نقل قول: رفع خطای NullRefrence موقع نمایش اطلاعات روی چارت
var Test = db.factorSaleTables.GroupBy(t=>t.CommodFact).selec t(n=>new{
Number = n.Sum(r=>r.Number),
Name = n.Commdname
})
نقل قول: رفع خطای NullRefrence موقع نمایش اطلاعات روی چارت
نقل قول:
نوشته شده توسط
asiatec
var Test = db.factorSaleTables.GroupBy(t=>t.CommodFact).selec t(n=>new{
Number = n.Sum(r=>r.Number),
Name = n.Commdname
})
بسیار ممنون از راهنمایتون.
کد رو داخل پروژه گذاشتم بدین صورت شد:
LinqToTrazoDataContext db = new LinqToTrazoDataContext();
var Test = db.FactorSaleTables.GroupBy(t => t.CommodCodFact).Select(n => new
{
Number = n.Sum(r => r.Number),
Name = n.commodName
});
ولی با خطای زیر روبرو شدم:
نقل قول:
'System.Linq.IGrouping<string,Projeh_Tarazo.Factor SaleTable>' does not contain a definition for 'commodName' and no extension method 'commodName' accepting a first argument of type 'System.Linq.IGrouping<string,Projeh_Tarazo.Factor SaleTable>' could be found (are you missing a using directive or an assembly reference?)
که مربوط به خط Name = n.commodName میشه.
مشکل از کجاست نمیدونم؟
ممنون میشم راهنماییم کنید
باتشکر از تمامی بزرگواران
نقل قول: رفع خطای NullRefrence موقع نمایش اطلاعات روی چارت
تغییر بدین به
CommodName = n.commodName
1 ضمیمه
نقل قول: رفع خطای NullRefrence موقع نمایش اطلاعات روی چارت
نقل قول:
نوشته شده توسط
asiatec
تغییر بدین به
CommodName = n.commodName
بعد از .n تو لیست CommodName نیست:
ضمیمه 150001
نقل قول: رفع خطای NullRefrence موقع نمایش اطلاعات روی چارت
var Test = db.FactorSaleTables.GroupBy(s => new { s.CommodCodFact, s.CommodName }).Select(n => new
{
Number = n.Sum(r => r.Number),
Name = n.Key.CommodName
});
نقل قول: بدست آوردن جمع براساس کد محصول
نقل قول:
نوشته شده توسط
mr.sirwan
var Test = db.FactorSaleTables.GroupBy(s => new { s.CommodCodFact, s.CommodName }).Select(n => new
{
Number = n.Sum(r => r.Number),
Name = n.Key.CommodName
});
بسیار ممنون از راهنماییتون جواب داد.
من این اطلاعات رو داخل یک گریدویو نمیاش میدم، حالا اگه بخوام یک شماره ردیف به گریدویو اضافه کنم که شماره ردیف رو بهم نمایش بده چکار باید بکنم؟
ممنون میشم راهنماییم کنید
با تشکر فراوان
نقل قول: بدست آوردن جمع براساس کد محصول
یک ستون توی دیتاگرید با اسم Row ایجاد کنید و بعد توی ایونت CellFormatting دیتاگرید این کد رو بنویسید:dataGridView.Rows[e.RowIndex].Cells["Row"].Value = e.RowIndex + 1;
نقل قول: بدست آوردن جمع براساس کد محصول
نقل قول:
نوشته شده توسط
mr.sirwan
یک ستون توی دیتاگرید با اسم Row ایجاد کنید و بعد توی ایونت CellFormatting دیتاگرید این کد رو بنویسید:
dataGridView.Rows[e.RowIndex].Cells["Row"].Value = e.RowIndex + 1;
بسیار ممنون از راهنماییتون جواب داد.
با تشکر فراوان
نقل قول: بدست آوردن جمع براساس کد محصول
نقل قول:
نوشته شده توسط
mr.sirwan
یک ستون توی دیتاگرید با اسم Row ایجاد کنید و بعد توی ایونت CellFormatting دیتاگرید این کد رو بنویسید:
dataGridView.Rows[e.RowIndex].Cells["Row"].Value = e.RowIndex + 1;
در اینجا دکمه ای تحت عنوان "تشکر کردن" برای پست های مورد نظر نداره؟
3 ضمیمه
Question نقل قول: بدست آوردن جمع براساس کد محصول
باسلام خدمت تمامی دوستان و بزرگواران
وقتی فیلدهایی به GroupBy اضافه میکم، که کد بصورت زیر در میاد:
var Test = db.FactorSaleTables.GroupBy(s => new { s.CommodCodFact, s.CommodName,s.CommodSize,s.CompanyName })
.Select(n=>new
{
Number=n.Sum(r=>r.Number) ,
commodName=n.Key.CommodName,
Size = n.Key.CommodSize,
Compony = n.Key.CompanyName
});
dataGridView1.DataSource = Test;
ولی این خروجی رو بهم میده:
ضمیمه 150016
وقتی یک فیلد TotalPrice رو به GroupBy اضافه میکنم کلا خروجیم بهم میریزه و به شکل زیر در میاد:
ضمیمه 150017
میشه راهنماییم بفرمائید که کجای کدم اشتباه هست و از چه کدی باید استفاده کرد که برنامه درست کار کنه؟
باتشکر از تمامی بزرگواران
نقل قول: بدست آوردن جمع براساس کد محصول
لطفا مدل کالا رو قرار بدید
نقل قول: بدست آوردن جمع براساس کد محصول
نقل قول:
نوشته شده توسط
asiatec
لطفا مدل کالا رو قرار بدید
میخوام از جدول فاکتورم، کد کالا به همراه مجموع تعداد اجناسی که فروخته شده به همراه نام جنس، جمع قیمت کل جنس فروخته شده، سایز محصول، شرکت سازنده محصول و تاریخ فروش تو گریدویو فرم گزارشم بهم نمایش بده.
نمیدونم تونستم جواب سوالتونو بدم و منظورمو برسونم؟
نقل قول: بدست آوردن جمع براساس کد محصول
شما باید گروه بندتون بر اساس کلید های خارجی باشه شما کلاس کالا و فاکتور رو بذارید تا بشه برای کوئری تصمیم گرفت
نقل قول: بدست آوردن جمع براساس کد محصول
نقل قول:
نوشته شده توسط
asiatec
شما باید گروه بندتون بر اساس کلید های خارجی باشه شما کلاس کالا و فاکتور رو بذارید تا بشه برای کوئری تصمیم گرفت
در جدول کالا،کلید اصلیم CommodCod و در جدول فاکتورم کلید خارجیم CommodCodFact میشه.که این دو جدول باهم ریلیشن خوردن.
کد درج کالام بدین صورته:
var db = new LinqToTrazoDataContext();
if (btnInsert.Text == "درج")
{
CommoTable codeTbable = new CommoTable
{
InsertDate = DateTime.Parse(dts),
InserTime = DateTime.Now.TimeOfDay,
CommodCod = txtAbbrev.Text + "-" + txtCodCommodity.Text,
CommodName = txtCommodName.Text,
CommodGenre = txtCommodGenre.Text,
CommodSize = txtCommodSize.Text,
CompanyName = txtCo.Text,
CommodNumb = Convert.ToInt16(txtCommodNume.Text),
CommodWeight = float.Parse(txtCommodWeight.Text),
CommodTotal = float.Parse(txtCommodTotal.Text),
UnitPrice = Int16.Parse(txtUnitPrice.Text),
Dicount = byte.Parse(txtDicount.Text),
Tax = Int16.Parse(txtTax.Text),
};
db.CommoTables.InsertOnSubmit(codeTbable);
db.SubmitChanges();
}
و کد بخش فاکتورم بصورت زیره:
var n = ry.CommodNumb;
n = (Int16) (n - Numbertxt);
ry.CommodNumb = n;
db.SubmitChanges();
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 = cmbSiz.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;
ممنون میشم راهنماییم کنید که از چه کدی برای گروه بندی باید استفاده کرد؟
باتشکر از تمامی دوستان و بزرگواران
نقل قول: بدست آوردن جمع براساس کد محصول
نقل قول:
نوشته شده توسط
bmvgod
نوع ستونهای جدول FactorSaleTable در دیتابیس چیه؟ احتمالا مشکل از ستونهای رشته ای هست و مقدار رشته های درج شده در اون دو تا سطر برابر نبوده که تبدیل به یک سطر نشده.
نقل قول: بدست آوردن جمع براساس کد محصول
با این روش که همه چی رشته ای هست اول داده های را چک کنید ببینید کامل شبیه هستند یا خیر،
1 ضمیمه
نقل قول: بدست آوردن جمع براساس کد محصول
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
نوع ستونهای جدول FactorSaleTable در دیتابیس چیه؟ احتمالا مشکل از ستونهای رشته ای هست و مقدار رشته های درج شده در اون دو تا سطر برابر نبوده که تبدیل به یک سطر نشده.
جدول فاکتورم بدین شکله:
ضمیمه 150061
نقل قول: بدست آوردن جمع براساس کد محصول
نقل قول:
نوشته شده توسط
bmvgod
شما را ارجاع میدم به پاسخ های قبل
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
... احتمالا مشکل از ستونهای رشته ای هست و مقدار رشته های درج شده در اون دو تا سطر برابر نبوده که تبدیل به یک سطر نشده.
نقل قول:
نوشته شده توسط
asiatec
با این روش که همه چی رشته ای هست اول داده های را چک کنید ببینید کامل شبیه هستند یا خیر،
نقل قول: بدست آوردن جمع براساس کد محصول
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
شما را ارجاع میدم به پاسخ های قبل
از روش زیر هم استفاده میکنم به نتیجه ای نمیرسم:
var Test = from x in db.FactorSaleTables
where (x.CommodCodFact == x.CommodCodFact && x.CommodName == x.CommodName
&& x.CommodSize == x.CommodSize && x.CompanyName == x.CompanyName)
group x by new
{
x.CommodCodFact,
x.CommodName,
x.CommodSize,
x.CompanyName
}into gxs
select new
{
CommodCodFact = gxs.Key.CommodCodFact,
CommodName=gxs.Key.CommodName,
Numb= gxs.Sum(s=>s.Number),
Size=gxs.Key.CommodSize,
Company=gxs.Key.CompanyName
};
ممنون میشم راهنماییم کنید که کجای کارم اشتباه هست و از چه کدی باید استفاده کنم؟
باتشکر از تمامی دوستان و بزرگواران
نقل قول: بدست آوردن جمع براساس کد محصول
نقل قول:
نوشته شده توسط
bmvgod
از روش زیر هم استفاده میکنم به نتیجه ای نمیرسم:
var Test = from x in db.FactorSaleTables
where (x.CommodCodFact == x.CommodCodFact && x.CommodName == x.CommodName
&& x.CommodSize == x.CommodSize && x.CompanyName == x.CompanyName)
group x by new
{
x.CommodCodFact,
x.CommodName,
x.CommodSize,
x.CompanyName
}into gxs
select new
{
CommodCodFact = gxs.Key.CommodCodFact,
CommodName=gxs.Key.CommodName,
Numb= gxs.Sum(s=>s.Number),
Size=gxs.Key.CommodSize,
Company=gxs.Key.CompanyName
};
ممنون میشم راهنماییم کنید که کجای کارم اشتباه هست و از چه کدی باید استفاده کنم؟
باتشکر از تمامی دوستان و بزرگواران
دوستان و بزرگواران میشه راهنماییم بفرمائید کجای کد اشتباهه و از چه کدی باید استفاده کنم تا پروژه درست کار کنه؟
باتشکر از تمامی دوستان و بزرگواران
نقل قول: بدست آوردن جمع براساس کد محصول
به نظر من مستقیم از کوئری سی کول سرور استفاده کن به صورتی که اول کامل تست کن بعد راحت بذار تو برنامه،با این همه فیلد رشته ای زیاد نمیشه کاری کرد
نقل قول: بدست آوردن جمع براساس کد محصول
نقل قول:
نوشته شده توسط
bmvgod
دوستان و بزرگواران میشه راهنماییم بفرمائید کجای کد اشتباهه و از چه کدی باید استفاده کنم تا پروژه درست کار کنه؟
باتشکر از تمامی دوستان و بزرگواران
برای بار چندم؛
به احتمال قریب به یقین کد مشکلی ندارد بلکه دیتای ثبت شده در دیتابیس باعث ایجاد چند سطر میشه. دیتا را چک کنید.
پ.ن.
جدول فاکتور نرمال نیست. مشخصات کالا باید در جدول مجزا ثبت بشه.
بعضی از ستونها مثل کد و سایز نبایست رشته باشند.