こんにちは、VB.NET にリストビューがあり、その中に名前とボタンを次のように挿入したいと考えています。 listeview とその行の左右に配置された 2 つのコントロール) VB.NET で可能ですか? 私の質問が明確だったことを願っています。ありがとう。
9046 次
2 に答える
3
簡単ではありません。ただし、DataGridView はこれを簡単に処理できます。
DataGridView1.Columns.AddRange(New DataGridViewColumn(1) _
{New DataGridViewTextBoxColumn() With _
{.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill, .HeaderText = "Text"},
New DataGridViewButtonColumn() With _
{.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill, .HeaderText = "Button"}})
DataGridView1.Rows.Add({"row 1 text", "row 1 button"})
DataGridView1.Rows.Add({"row 2 text", "row 2 button"})
これらのプロパティはデザイナーから設定でき、行を手動で追加するのではなく、おそらく datagridview をバインドします。
ボタンのクリックで行を削除するには、CellContentClick イベントを使用します。
Private Sub DataGridView1_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
'check it the button column being clicked, and check they are not clicking the column heading
If e.ColumnIndex = 1 And e.RowIndex >= 0 Then
DataGridView1.Rows.RemoveAt(e.RowIndex)
End If
End Sub
データバインディングを使用する場合は、datagridview ではなく、データ オブジェクトから行を削除する必要があります。
編集アイテムのすべての列をリストに抽出します:
Dim columnOneValues As New List(Of String)
For Each row As DataGridViewRow In DataGridView1.Rows
columnOneValues.Add(row.Cells(0).Value.ToString)
Next
于 2012-12-01T06:54:39.023 に答える