gpt4 book ai didi

vb.net - 如何在具有多个控件的列中设置 DataGridViewButtonCell 文本

转载 作者:行者123 更新时间:2023-12-04 04:45:16 25 4
gpt4 key购买 nike

我有一个 DataGridViewTextBoxColumn,它包含不同类型的 DataGridViewCells(组合框、文本和按钮)。

Different DataGridView Cells

这是我构建 datagridview 行的方法:

Public Shared Function BuildDgvRow(ByVal tq As clsTabsQuestion) As DataGridViewRow
Dim Row As New DataGridViewRow
Dim ComboBoxCell As New DataGridViewComboBoxCell
Dim CellBtn As New DataGridViewButtonCell //File Upload
Dim CellTxtQ As New DataGridViewTextBoxCell //Cell question
Dim CellTxt As New DataGridViewTextBoxCell //Cell txt

CellTxtQ = New DataGridViewTextBoxCell

//Build row
With Row
//Add cell that will contain question
.Cells.Add(CellTxtQ)

//Add CheckBox / Button / Text to the other cell that will contain the answer
Select Case tq.sType
Case "YesNo"
ComboBoxCell = New DataGridViewComboBoxCell()
ComboBoxCell.Items.AddRange(New String() {"Yes", "No", "N/A"})
.Cells.Add(ComboBoxCell)
Case "FileUpload"
CellBtn = New DataGridViewButtonCell
.Cells.Add(CellBtn)
Case "Text"
CellTxt = New DataGridViewTextBoxCell
.Cells.Add(CellTxt)
End Select

//Set row values
.SetValues({tq.Title, ""})
.Tag = tq
End With

Return Row
End Function

我似乎无法从 DataGridViewButtonCell 类中获得任何“文本”属性。有没有办法在 DataGridViewButtonCell 上设置文本?这是一个问卷,用户可以创建自己的问卷。因此,他们可以选择组合框、文本或按钮作为他们问题的答案。

我正在尝试做的可能吗?

最佳答案

经过进一步调查,我发现了我的问题......当我尝试使用 CellBtn.Value 时我忘了我正在将行值重置为空字符串。傻我。

这是我解决它的方法(两种方式)

使用 DataGridViewButtonCell.Value 设置文本

Public Shared Function BuildDgvRow(ByVal tq As clsTabsQuestion) As DataGridViewRow
Dim Row As New DataGridViewRow
Dim ComboBoxCell As New DataGridViewComboBoxCell
Dim CellBtn As New DataGridViewButtonCell //File Upload
Dim CellTxtQ As New DataGridViewTextBoxCell //Cell question
Dim CellTxt As New DataGridViewTextBoxCell //Cell txt

CellTxtQ = New DataGridViewTextBoxCell

//Build row
With Row
//Add cell that will contain question
.Cells.Add(CellTxtQ)

//Add CheckBox / Button / Text to the other cell that will contain the answer
Select Case tq.sType
Case "YesNo"
ComboBoxCell = New DataGridViewComboBoxCell()
ComboBoxCell.Items.AddRange(New String() {"Yes", "No", "N/A"})
.Cells.Add(ComboBoxCell)
Case "FileUpload"
CellBtn = New DataGridViewButtonCell
CellBtn.Value = "ASdasdwd"
.SetValues({tq.Title, CellBtn.Value})
.Cells.Add(CellBtn)
Case "Text"
CellTxt = New DataGridViewTextBoxCell
.Cells.Add(CellTxt)
End Select

//Set values
If tq.sType <> "FileUpload" Then .SetValues({tq.Title, ""})
.Tag = tq
End With

Return Row
End Function

使用 DataGridViewRow.SetValue 设置文本
Public Shared Function BuildDgvRow(ByVal tq As clsTabsQuestion) As DataGridViewRow
Dim Row As New DataGridViewRow
Dim ComboBoxCell As New DataGridViewComboBoxCell
Dim CellBtn As New DataGridViewButtonCell //File Upload
Dim CellTxtQ As New DataGridViewTextBoxCell //Cell question
Dim CellTxt As New DataGridViewTextBoxCell //Cell txt

CellTxtQ = New DataGridViewTextBoxCell

//Build row
With Row
//Add cell that will contain question
.Cells.Add(CellTxtQ)

//Add CheckBox / Button / Text to the other cell that will contain the answer
Select Case tq.sType
Case "YesNo"
ComboBoxCell = New DataGridViewComboBoxCell()
ComboBoxCell.Items.AddRange(New String() {"Yes", "No", "N/A"})
.Cells.Add(ComboBoxCell)
Case "FileUpload"
CellBtn = New DataGridViewButtonCell
.Cells.Add(CellBtn)
Case "Text"
CellTxt = New DataGridViewTextBoxCell
.Cells.Add(CellTxt)
End Select

//Set values
If tq.sType = "FileUpload" Then .SetValues({tq.Title, "Upload"}) Else .SetValues({tq.Title, ""})
.Tag = tq
End With

Return Row
End Function

关于vb.net - 如何在具有多个控件的列中设置 DataGridViewButtonCell 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18293458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com