0
私は自分の問題について助けを求めます。私はすべての列がリスト<のDataPropertyNameで設定されているDGVを持っています。私がそれを読み込むと、DGVはシフトのIDでいっぱいです。それは完全に動作しますが、これを(intを含む)セルをComboBoxに変更したいと考えています。ここでdisplaymemberはシフト名になり、このシフトIDを評価します。DataGridView内のvaluememberとdisplaymemberを使用したC#ComboBox
誰にも解決策がありますか、それとも私はそれをリメイクする必要がありますか?
が、これは私がDataGridViewComboBoxColumnコントロールを追加するために、私のアプリケーションの一つでヘルパーメソッドを使用し
public void FillWithData(int month, int year, int centerID)
{
IScheduleRecord record = new ScheduleRecordDAO();
List<Shift> shifts = new ShiftDAO().GetShiftsByCenterId(center);
dataGridView1.Columns[1].DataPropertyName = "Day1";
dataGridView1.Columns[2].DataPropertyName = "Day2";
dataGridView1.Columns[3].DataPropertyName = "Day3";
dataGridView1.Columns[4].DataPropertyName = "Day4";
dataGridView1.Columns[5].DataPropertyName = "Day5";
dataGridView1.Columns[6].DataPropertyName = "Day6";
dataGridView1.Columns[7].DataPropertyName = "Day7";
dataGridView1.Columns[8].DataPropertyName = "Day8";
dataGridView1.Columns[9].DataPropertyName = "Day9";
dataGridView1.Columns[10].DataPropertyName = "Day10";
dataGridView1.Columns[11].DataPropertyName = "Day11";
dataGridView1.Columns[12].DataPropertyName = "Day12";
dataGridView1.Columns[13].DataPropertyName = "Day13";
dataGridView1.Columns[14].DataPropertyName = "Day14";
dataGridView1.Columns[15].DataPropertyName = "Day15";
dataGridView1.Columns[16].DataPropertyName = "Day16";
dataGridView1.Columns[17].DataPropertyName = "Day17";
dataGridView1.Columns[18].DataPropertyName = "Day18";
dataGridView1.Columns[19].DataPropertyName = "Day19";
dataGridView1.Columns[20].DataPropertyName = "Day20";
dataGridView1.Columns[21].DataPropertyName = "Day21";
dataGridView1.Columns[22].DataPropertyName = "Day22";
dataGridView1.Columns[23].DataPropertyName = "Day23";
dataGridView1.Columns[24].DataPropertyName = "Day24";
dataGridView1.Columns[25].DataPropertyName = "Day25";
dataGridView1.Columns[26].DataPropertyName = "Day26";
dataGridView1.Columns[27].DataPropertyName = "Day27";
dataGridView1.Columns[28].DataPropertyName = "Day28";
if (CountColumns(month, year) == 30) {
dataGridView1.Columns[29].DataPropertyName = "Day29";
dataGridView1.Columns[30].DataPropertyName = "Day30";
}
if (CountColumns(month, year) == 31) {
dataGridView1.Columns[29].DataPropertyName = "Day29";
dataGridView1.Columns[30].DataPropertyName = "Day30";
dataGridView1.Columns[31].DataPropertyName = "Day31";
}
dataGridView1.DataSource = record.GetScheduleRecordsByMonthYearCenter(month, year, center);
this.dataGridView1.RowsDefaultCellStyle.BackColor = Color.Beige;
this.dataGridView1.AlternatingRowsDefaultCellStyle.BackColor =
Color.LightGray;
this.dataGridView1.Columns["Year"].Visible = false;
this.dataGridView1.Columns["Month"].Visible = false;
this.dataGridView1.Columns["CenterID"].Visible = false;
this.dataGridView1.Columns["Id"].Visible = false;
this.dataGridView1.Columns["EmployeeID"].Visible = false;
if (CountColumns(month, year) == 28)
{
this.dataGridView1.Columns["Day29"].Visible = false;
this.dataGridView1.Columns["Day30"].Visible = false;
this.dataGridView1.Columns["Day31"].Visible = false;
}
if (CountColumns(month, year) == 30)
{
this.dataGridView1.Columns["Day31"].Visible = false;
}
書籍、ツール、ソフトウェアライブラリ、チュートリアル、またはその他のオフサイトリソースを推奨するかどうかを質問するには、スタックオーバーフローに関するトピックがあります。彼らはオピニオンレスポンスやスパムを集める傾向があるためです。代わりに、問題を説明し、それを解決するためにこれまでに何が行われているかを記述します。 – Reniuz