private void SetDatasourceCombobox() { DateTime startDate = dtpStartWorkDate.Value.Date; DateTime endDate = DateTime.Now.Date; decimal rate = ProvidentFundCalculator.GetProvidentFundNotOverRatePercent(startDate, endDate); List <ComboBoxHelper.ComboBoxSource <decimal> > comboBoxSource = new List <ComboBoxHelper.ComboBoxSource <decimal> >(); for (int loop = 1; loop <= rate; loop++) { comboBoxSource.Add(new ComboBoxHelper.ComboBoxSource <decimal> { Display = loop.ToString(), Value = loop, }); } if (rate == 0) { comboBoxSource.Add(new ComboBoxHelper.ComboBoxSource <decimal> { Display = rate.ToString(), Value = rate, }); } ComboBoxHelper.SetSourceToComboBox(cboProvidentFundRate, nameof(ComboBoxHelper.ComboBoxSource <decimal> .Display), nameof(ComboBoxHelper.ComboBoxSource <decimal> .Value), comboBoxSource); }
private void SetComBoboxOnGird(DateTime startDate, DateTime endDate, List <EmployeeLogDetail> providentFunds) { int index = 0; decimal month = ProvidentFundCalculator.GetMonthPVDPaid(startDate, endDate); month -= 3; foreach (EmployeeLogDetail data in providentFunds) { DateTime newEndDate = endDate.AddMonths(-Convert.ToInt32(month)); month -= data.Month; decimal rate = ProvidentFundCalculator.GetProvidentFundNotOverRatePercent(startDate, newEndDate); List <ComboBoxHelper.ComboBoxSource <decimal> > comboBoxSource = new List <ComboBoxHelper.ComboBoxSource <decimal> >(); for (int loop = 1; loop <= rate; loop++) { comboBoxSource.Add(new ComboBoxHelper.ComboBoxSource <decimal> { Display = loop.ToString(), Value = loop, }); } if (rate == 0) { comboBoxSource.Add(new ComboBoxHelper.ComboBoxSource <decimal> { Display = rate.ToString(), Value = rate, }); } DataGridViewComboBoxCell cellCombobox = new DataGridViewComboBoxCell(); cellCombobox.DisplayMember = nameof(ComboBoxHelper.ComboBoxSource <decimal> .Display); cellCombobox.ValueMember = nameof(ComboBoxHelper.ComboBoxSource <decimal> .Value); cellCombobox.DataSource = comboBoxSource; gridViewDisplay.Rows[index].Cells["cboPVDRate"] = cellCombobox; ++index; } gridViewDisplay.Refresh(); }