Holen Sie sich alle Werte eines DataGridTextBoxColumn
-
16-09-2019 - |
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?
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