Frage

Ich habe eine Datagridview, die eine Spalte namens Fälligkeitsdatum hat, die vom Typ System.DataTime ist. Ich möchte diese Daten in einem Monthcalendar setzen. Muss ich throught die Säule durchlaufen? Muss ich ihn zu spielen?

War es hilfreich?

Lösung

erhalten Datum aus jeder Spalte JA Sie haben durch alle Zeilen in der Spalte iterieren. Wie Sie Datum als Text angezeigten müssen Sie Methoden DateTime.Parse oder DateTime.TryParse analysieren.

EDIT: - vorausgesetzt, dies eine Formularanwendung ist. Ich habe eine DataGridView, ein MonthCalendar und Button. Ich war in der Lage stammt aus gridview und fett den ausgewählten Daten im Monat cal zu erhalten.

public Form2()
{
    InitializeComponent();

    CreateData();
}

private void CreateData()
{
    var dtb = new DataTable();
    dtb.Columns.Add("Column1");
    dtb.Columns.Add("Column2");
    dtb.Columns.Add("Column3");

    var dt = DateTime.Now;
    var rand = new Random();

    for (var i = 0; i < 10; i++)
    {
        var r = dtb.NewRow();

        r.ItemArray = new object[] {dt.ToString("ddd"), dt.ToString("MMM"), dt};
        dt = dt.AddDays(rand.Next(30));

        dtb.Rows.Add(r);
    }

    dataGridView1.DataSource = dtb;
}

private void button1_Click(object sender, EventArgs e)
{
    var bds = new List<DateTime>();
    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
        DateTime dt;
        var b = DateTime.TryParse(row.Cells[row.Cells.Count - 1].Value+"", out dt);
        if(!b) continue;

        bds.Add(dt);
    }

    cal.BoldedDates = bds.ToArray();
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top