احصل على جميع قيم DatagridTextBoxColumn
-
16-09-2019 - |
سؤال
لدي DataGridView الذي يحتوي على عمود يسمى التاريخ المستحق الذي هو من نوع System.Datatime. أريد أن أضع هذه التواريخ في شهر Monthcalendar. هل يجب علي تكرار الأعمدة؟ هل يجب علي إلقاء ذلك؟
المحلول
للحصول على تاريخ من كل عمود، يجب عليك التكرار من خلال جميع الصفوف في العمود. كما تعرض تاريخه كنص ستحتاج إلى تحليله باستخدام DateTime.Parse
أو DateTime.TryParse
طرق.
تحرير: - يفترض أن هذا هو تطبيق النماذج. أضفت أ DataGridView
, ، أ MonthCalendar
و Button
. وبعد تمكنت من الحصول على تواريخ من GridView وجريئة التواريخ المحددة في الشهر.
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();
}
لا تنتمي إلى StackOverflow