我正在嘗試使用 VB.net 將列動態添加到資料網格視圖。但問題是我需要檢查列名是否已經存在。在添加它(如果存在)之前,我希望它自動取消。我正在使用另一個表單來選擇作業編號,該作業編號將在保存時添加為 Datagridview 標題文本。() 下面是我用來向我的 datagridview 添加列的代碼。希望你明白這個問題。我在 C# 中找到了一些附近的答案,不幸的是我無法正確轉換這些答案,因為我的 C# 編碼知識有點薄弱。
謝謝你!
Dim FRMP = FrmEReview.ReviewGrid.Columns
Dim NOHRS As New DataGridViewTextBoxColumn
FRMP.Add(NOHRS)
NOHRS.HeaderText = Me.Cmb_CName.Text & "-" & Me.Cmb_DName.Text
NOHRS.Width = 160
uj5u.com熱心網友回復:
顯而易見的選擇 - 你應該能夠自己解決的一個 - 是簡單地遍歷列并測驗HeaderText每一列:
Dim headerText = $"{Cmb_CName.Text}-{Cmb_DName.Text}"
Dim headerTextFound = False
For Each column As DataGridViewColumn In FrmEReview.ReviewGrid.Columns
If column.HeaderText = headerText Then
headerTextFould = True
Exit For
End If
Next
If Not headerTextFound Then
'...
End If
這基本上相當于您手動執行的代碼,這就是為什么您應該能夠自己完成它,至少在大多數情況下。
對于初學者來說不太明顯的解決方案是使用 LINQ。LINQ 基本上是一種扁平化回圈的方法,因此它可以生成更簡潔的代碼:
Dim headerText = $"{Cmb_CName.Text}-{Cmb_DName.Text}"
If FrmEReview.ReviewGrid.
Columns.
Cast(Of DataGridViewColumn)().
All(Function(dgvc) dgvc.HeaderText <> headerText) Then
'...
End If
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/503736.html
上一篇:如何在多個潛艇中使用句柄
下一篇:.txt檔案到帶有更改的富文本框
