爲了說明這一點,我查看了幾個包含listviews的帖子,沒有什麼比我想要做的更好。添加dataitem(從字符串數組)到列表視圖
我想採取通過有幾個循環確定的值如果類似於如下語句:
If Convert.ToInt32(GetData(ds.Tables("HRIS").Rows(i), "ABS_CO_RULE_DAYS", DefaultValue)) > 0 Or _
Convert.ToInt32(GetData(ds.Tables("HRIS").Rows(i), "ABS_CO_RULE_HRS", DefaultValue)) > 0 Or _
Convert.ToInt32(GetData(ds.Tables("HRIS").Rows(i), "ABS_CO_RULE_MINS", DefaultValue)) > 0 Then
msChargeDays = GetData(ds.Tables("HRIS").Rows(i), "ABS_CO_RULE_DAYS", DefaultValue)
msChargeHours = GetData(ds.Tables("HRIS").Rows(i), "ABS_CO_RULE_HRS", DefaultValue)
msChargeMins = GetData(ds.Tables("HRIS").Rows(i), "ABS_CO_RULE_MINS", DefaultValue)
msHowPaid = "CR DAYS"
AbsenceLine() 'calls sub
End If
的代碼塊源於它從調用數據集返回有效的結果。現在在下面的代碼塊中,我試圖同化由主代碼塊確定的值,如果語句結構與上面的塊類似,所有代碼塊都包含在For循環中,則主代碼塊的值大約爲40。
在下面的代碼塊中,我試圖將一個ListViewItem類型的對象插入到ListView中。這是我得到我的錯誤表示它後面的註釋字符串。填充ListViewItem的函數位於底部,返回的所有變量都是類變量,並將有效值返回給ListViewItem。我已經通過調試器進行了雙重檢查。
Private Sub AbsenceLine()
Dim sTypeReason As String
If msType = "" Then
sTypeReason = Left(msReason, 25)
Else
sTypeReason = msType & "--" & msReason
End If
Dim item As ListViewItem
item = New ListViewItem(ListViewItemType.DataItem)
item.DataItem = FillListView(sTypeReason)
absence_lv.Items.Add(item) 'this line here is what is givine me issues
End Sub
Private Function FillListView(typeReason As String) As IEnumerable(Of String)
Return {msDate, msVoid, msCont, msDays, msHours, msMinutes, typeReason, msChargeDays, msChargeHours,
msChargeMins, msHowPaid} 'all values returned are of String type
End Function
與背景
現在:
我是什麼,我試圖做的完全關閉基地?
是否有更簡單的方法來做到這一點,而不是一個GridView?
我剛開始嘗試過這種方式,並一直在獲取Null Reference Errors。我想出了使用GridView的替代方法,該方法對我們正在嘗試執行的操作來說很好。 – seroki