我有一個dataGridView,其中有一個名爲Date Due的列,該列的類型爲System.DataTime。我想把這些日期放在一個月的日曆中。我必須遍歷列嗎?我必須施放它嗎?獲取dataGridTextboxColumn的所有值
回答
從每列獲取日期是的,你必須遍歷列中的所有行。由於您將文本顯示爲文本,因此需要使用DateTime.Parse
或DateTime.TryParse
方法進行解析。
編輯: - 假設這是一個表單應用程序。我加了一個DataGridView
,一個MonthCalendar
和一個Button
。我能夠從gridview中獲取日期,並在月份cal中加粗所選日期。
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();
}
沒有工作。我已經有了一個DataSet作爲DataGrid的DataSource。有更容易的方法嗎? – 2009-12-09 01:41:13
當添加新行時,我還將使用'MonthCalendar.UpdateBoldedDates()'方法。不需要按鈕。 – 2009-12-09 01:48:42
然後你忽略創建'DataTable'和綁定的東西。當添加新行時,您可以處理該事件並從相應列中獲取數據。 – TheVillageIdiot 2009-12-09 02:22:25
- 1. 獲取所有值
- 2. 獲取所有值?
- 3. 獲取所有值所需的HashMap
- 4. SQL Distinct - 獲取所有值
- 5. XmlPullParser獲取所有子值
- 6. 從NSMutableDictionary獲取所有值
- 7. 的XPath/XQuery的SQL - 獲取所有值
- 8. 獲取HTML表單的所有值
- 9. 獲取所有唯一的鍵和值
- 10. 獲取所有值的屬性對象
- 11. 獲取所有可能的值組合
- 12. 獲取散列表中的所有值
- 13. R獲取所有值爲NaN的行
- 14. 獲取最大組的所有數值
- 15. 獲取地圖中的所有值
- 16. 獲取所有選中值的列表
- 17. MYSQL獲取GROUP BY的所有值
- 18. 獲取複選框的所有值?
- 19. 獲取所有子編輯框的值
- 20. 獲取數組元素的所有值
- 21. ListCtrl - wxPython獲取列中的所有值
- 22. 獲取所有列的最常見值
- 23. BeautifulSoup獲取特定列的所有值
- 24. 獲取mysql中所有值的總和
- 25. 獲取所有值的排列 - 成對
- 26. 獲取一列中所有行的值
- 27. 獲取特定密鑰的所有值
- 28. 獲取ul中所有量程的值
- 29. 點擊獲取一行的所有值
- 30. 獲取memcached中的所有值
這是網站或表單應用程序嗎?我認爲它是窗體(datagridviewtextboxcell)。 – TheVillageIdiot 2009-12-08 06:37:06
是的。這是一個winforms應用程序。 – 2009-12-08 12:37:16