نمایش نتایج 1 تا 40 از 69

نام تاپیک: صورت حساب بدهی یا طلب مشتری (هر رکورد نسبت به رکوردهای قبل محاسبه شود)

Threaded View

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

    نقل قول: صورت حساب بدهی یا طلب مشتری (هر رکورد نسبت به رکوردهای قبل محاسبه شود)

    نمونه مانده گیری دو ستون بدهکار و بستانکار
    بجای استفاده از جدول دردیتابیس من از یک لیست در حافظه استفاده کردم

    public partial class Form2 : Form
    {
    private List<Document> documents;
    public Form2()
    {
    InitializeComponent();
    documents=new List<Document>();
    }


    private void InitDoc()
    {
    documents.Add(new Document { Id = 1, Code = 1, Comment = "فروش فاکتور شماره 1", Debit = 200000 });
    documents.Add(new Document { Id = 2, Code = 1, Comment = "فروش فاکتور شماره 2", Debit = 235000 });
    documents.Add(new Document { Id = 3, Code = 1, Comment = "دریافت بابت فاکتور شماره 1", Credit = 200000 });
    documents.Add(new Document { Id = 4, Code = 1, Comment = "دریافت بابت فاکتور شماره 2", Credit = 100000 });
    documents.Add(new Document { Id = 5, Code = 1, Comment = "فروش فاکتور شماره 3", Debit = 200000 });
    documents.Add(new Document { Id = 6, Code = 1, Comment = "دریافت بابت فاکتور شماره 2", Credit = 100000 });
    documents.Add(new Document { Id = 7, Code = 1, Comment = "دریافت بابت فاکتور شماره 2", Credit = 100000 });
    documents.Add(new Document { Id = 8, Code = 1, Comment = "دریافت بابت فاکتور شماره 2", Credit = 200000 });
    documents.Add(new Document { Id = 9, Code = 1, Comment = "پرداخت بابت فاکتور شماره 2", Debit = 65000 });


    documents.Add(new Document { Id = 10, Code = 2, Comment = "فروش فاکتور شماره 1", Debit = 500000 });
    documents.Add(new Document { Id = 11, Code = 2, Comment = "فروش فاکتور شماره 2", Debit = 295000 });
    documents.Add(new Document { Id = 12, Code = 2, Comment = "دریافت بابت فاکتور شماره 1", Credit = 400000 });
    documents.Add(new Document { Id = 13, Code = 2, Comment = "دریافت بابت فاکتور شماره 2", Credit = 100000 });
    documents.Add(new Document { Id = 14, Code = 3, Comment = "فروش فاکتور شماره 3", Debit = 200000 });


    }


    private void GetRemainingByCustomerCode(int Code) //customer code
    {
    decimal sumDebit = 0, sumCredit = 0;
    dataGridView1.DataSource = documents.Where(c => c.Code == Code)
    .Select(c =>
    {
    sumDebit += c.Debit;
    sumCredit += c.Credit;
    return new
    {
    c.Code,
    c.Comment,
    c.Debit,
    c.Credit,
    Remainnig = Math.Abs(sumDebit - sumCredit),
    Nature = (sumCredit > sumDebit) ? "بس" : (sumDebit > sumCredit) ? "بد" : "تس"
    };
    }).ToList();
    }


    private void Form2_Load(object sender, EventArgs e)
    {
    InitDoc();
    }


    private void btnShowResult_Click(object sender, EventArgs e)
    {
    if(string.IsNullOrEmpty(txtCustomerCode.Text))retu rn;
    int code;
    int.TryParse(txtCustomerCode.Text, out code);
    if(code<=0)return;
    GetRemainingByCustomerCode(code);
    }
    }


    public class Document
    {
    public int Id { get; set; }//آی دی رکورد
    public int Code { get; set; }//کد شخص
    public string Comment { get; set; }//توضیحات
    public decimal Debit { get; set; }//ستون بدهکار
    public decimal Credit { get; set; }//ستون بستانکار
    }
    فایل های ضمیمه فایل های ضمیمه
    First,solve the problem then write the code

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

  1. سوال: qml و html مزیت های هر کدام نسبت به دیگری
    نوشته شده توسط ravand در بخش برنامه نویسی در محیط QT و هم خانواده هایش
    پاسخ: 15
    آخرین پست: جمعه 20 فروردین 1395, 12:18 عصر
  2. پاسخ: 15
    آخرین پست: دوشنبه 27 بهمن 1393, 20:04 عصر
  3. پاسخ: 4
    آخرین پست: سه شنبه 12 دی 1391, 12:13 عصر
  4. پاسخ: 2
    آخرین پست: شنبه 08 آبان 1389, 23:15 عصر
  5. رکورد جدید به جدول اضافه نمی شود!
    نوشته شده توسط odiseh در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: دوشنبه 30 مهر 1386, 21:35 عصر

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

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