【问题标题】:Binding the value of a column cell to another column value将列单元格的值绑定到另一个列值
【发布时间】:2014-02-26 15:19:49
【问题描述】:

我想将一列中单元格的值绑定到 datagridview 中的另一列。第一列是团队,另一列是分配。我想在加载 dgv 后设置选定的值 (Assignment.Value; teamComboBox.ValueMember) = (Team.Value; row.Cells.Item(6))。

这是我目前所拥有的:

   Dim conn As New SqlConnection(My.Resources.FCLRptConn)
        Dim cmd As New SqlCommand("spFCLLUVTeamAssignment", conn)
        Dim da As New SqlDataAdapter(cmd)
        Dim TeamAssign As New DataTable

        da.Fill(TeamAssign)

        With FCLTeam
            .DataPropertyName = "FCLTeam"
            .Name = "FCLTeam"
            .DataSource = TeamAssign
            .DisplayMember = "FCLTeamName"
            .ValueMember = "FCLTeamID"
            .AutoSizeMode = DataGridViewAutoSizeColumnsMode.DisplayedCells
            .DisplayIndex = 6

        End With

我现在有 2 列出现在 DGV 中。一个来自数据集,另一个是我添加的 datagridcomboboxcolumn。

如何只显示 datagridcombobox 列?

【问题讨论】:

  • VB.NET for Winforms?用于 ASP.NET 的 VB.NET?用于 WPF 的 VB.NET?
  • ValueMember 不是价值! ValueMember 通常是您绑定到的属性的名称。
  • 我正在尝试将 valuemember(这是一个 ID)设置为每个单元格中第二列的值...
  • 您确定您了解 ValueMember 属性的真正作用吗?

标签: vb.net winforms datagridview datagridcomboboxcolumn


【解决方案1】:

除非有非常具体的原因不这样做,否则您可以将两列绑定到相同的字段值。

如果这对您不起作用,请添加有关您的要求的其他详细信息。

编辑:

您必须使用DataGridViewComboBoxColumn 并将其ValueMemberDisplayMember 设置在适当的字段名称上。 ValueMember 通常是用于填充组合框的数据源的关键字段。

一旦设置正确,您就不需要遍历网格行。绑定将负责匹配适当的组合框元素。

【讨论】:

  • 好吧,我首先加载一个 dgv,然后添加一个组合框列。我想将其中一列的值与组合框列匹配以从下拉列表中加载值...
  • 如果我理解清楚,那么这听起来很简单。尝试使用您迄今为止尝试过的内容以及遇到的确切挑战来编辑您的问题。这应该可以帮助您更多地关注您的帖子。
  • 那么你说的是在加载datagridview然后插入DataGridViewComboBoxColumn之后我应该绑定另一列的valuemember?
  • 我不知道为什么你甚至需要在加载数据后插入列。对于其余部分,我建议您查看 DataGridViewComboBoxColumn 文档(请参阅链接)。这将是一个更好的起点。
  • 为什么这会对您的 UI 设计产生影响?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-22
  • 2022-07-13
  • 1970-01-01
  • 2021-08-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多