【问题标题】:For Each Loop through DataGridViewColumn Headers通过 DataGridViewColumn 标题的每个循环
【发布时间】:2013-01-31 17:11:27
【问题描述】:

我有一个名为 DataGridViewHistoricalDataGridView,其中包含 2012 到 1900 的列。我正在尝试遍历列标题并使用年份来查找字符串中的特定日期。所以在下面的例子中我会寻找2012-01-03, 2011-01-03, 2010-01-03 ... 1900-01-03.

For Each columnYear As DataGridViewColumn In DataGridViewHistorical.Columns
  MessageBox.Show(strBuffer.IndexOf(columnYear & "-01-03"))
Next

当我运行此代码时,我收到错误“未为类型 'System.Windows.Forms.DataGridViewColumn' and 'String'." 定义运算符'&'

我怎样才能让它工作?

【问题讨论】:

    标签: vb.net string foreach indexof


    【解决方案1】:

    我认为您正在寻找DataGridViewColumnHeaderText 属性:

    MessageBox.Show(strBuffer.IndexOf(columnYear.HeaderText & "-01-03"))
    

    【讨论】:

    • 这不会给我一个错误,但是当我调试时没有任何反应。
    • @nordeen1 定义“什么都没有发生”。没有 MessageBox 意味着您没有列。
    • @nordeen1 调试时,进入 For-Each 循环会发生什么?
    • 这是我添加列的方式,这可能与我的问题有关。 With Me lr = Now.Year - 1901 For i = 1 To lr column = New DataColumn column.DataType = System.Type.GetType("System.Int32") column.ColumnName = Now.Year - i dt.Columns.Add(列)下一步我以结束
    • @nordeen1 我指的是 columnYear 循环。单击代码中的那一行,按 F9,运行程序,当它停在那里时,按 F8 逐行进入代码。您可以在程序暂停时检查变量的值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多