将字符串数组绑定到 datagridview 的列

2024-04-22

我正在设计一个有 datagridview 的 winform 。
我正在为该 datagridview 分配一个数据表。

DataTable dt = new DataTable();
dt.Columns.Add("items", typeof(string[]));
dt.Columns.Add("dateSold", typeof(string));

for (int i = 0; i < 6; i++)
{
    dt.Rows.Add(dt.NewRow());
    dt.Rows[i]["items"] = new string[] { "pencil" + i, "sharpner" + i };
    dt.Rows[i]["dateSold"] = "0" + i + "/0" + i + "/0" + i;
}
dataGridView1.DataSource = dt;

列项是字符串数组。我想在网格的一列中显示这个数组。 但是,简单地将数据表指定为 datagridview 的数据源并没有帮助。


您使用的语法有点奇怪。有一些重载允许您添加新行并同时设置值。

另外,不能让字符串数组作为单元格的字段。您可以创建一个自定义类,并将它们的列表绑定到 DataGridView,而不是使用 DataTable。这样,您就可以拥有一个字符串数组的基础字段,然后拥有一个公共属性,根据您的需要格式化它们,然后将其显示在 DataGridView 中。

以下是如何解决此问题的示例:

Imports System.ComponentModel

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim sales As New BindingList(Of SaleTransaction)

        For i As Integer = 1 To 6
            sales.Add(New SaleTransaction(i))
        Next

        ' None of this is necessary since the DGV will automatically read the public properties.. '

        DataGridView1.AutoGenerateColumns = False

        Dim itemsColumn As New DataGridViewTextBoxColumn

        itemsColumn.HeaderText = "Items"
        itemsColumn.ValueType = GetType(String)
        itemsColumn.DataPropertyName = "Items"

        DataGridView1.Columns.Add(itemsColumn)

        Dim dateColumn As New DataGridViewTextBoxColumn

        dateColumn.HeaderText = "Date Sold"
        dateColumn.ValueType = GetType(String)
        dateColumn.DataPropertyName = "DateSold"

        DataGridView1.Columns.Add(dateColumn)

        DataGridView1.DataSource = sales

    End Sub

    Public Class SaleTransaction
        Private _items As List(Of String)

        Public ReadOnly Property Items As String
            Get
                Return String.Join(", ", _items)
            End Get
        End Property

        Public Property DateSold As Date

        Public Sub New(ByVal itemNumber As Integer)
            Me._items = New List(Of String) From {"Pencil" & itemNumber, "Sharpner" & itemNumber}
            Me.DateSold = Date.Parse(String.Format("0{0}/0{0}/0{0}", itemNumber))
        End Sub

    End Class

End Class
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串数组绑定到 datagridview 的列 的相关文章

随机推荐

  • 如何用 POST 替换 window.open(...)

    我目前有一些运行的代码window open urlWithGetParams 线 据我所知 这将迫使我使用GET要求 我想通过 POST 请求来完成此操作 有解决方法吗 我没有结婚window open 任何一个 我愿意接受任何允许我通过
  • 我可以换行 img 替代文本吗?

    我有一个由 css 样式设置为 100x75 的图像 当它不加载时 替代文本会加载到空间中 但会将容器扩展到超过 100 像素宽度 我怎样才能防止这种情况发生 要么把它剪掉 要么把它包起来 好吧 我在某种程度上明白了 我只是将图像包装在相同
  • QUERY Google Sheets 函数中同一字符串中的引号和撇号

    我想知道如何处理这样的查询 假设电子表格的单元格 A2 中包含以下文本 Case Bakers Flats 12 White Flour Tortillas 10 12ct 并需要将以下公式代入B2 QUERY importrange KE
  • 了解 JPA 序列生成器

    我正在使用 spring data JPA 的序列生成器将主键分配给实体 模型包含 Id GeneratedValue strategy GenerationType SEQUENCE generator seq post Sequence
  • 使用 GPUImageFilter 时发生崩溃

    我从 Github 上 Brad Larson 的教程开始 当我将这些代码添加到我的项目中时 void viewDidLoad super viewDidLoad GPUImageVideoCamera videoCamera GPUIma
  • reg 声明中的位顺序

    如果我需要使用 4 个 8 位数字 我会声明以下 reg reg 7 0 numbers 3 0 我对第一个和第二个声明 7 0 和 3 0 之间的区别感到很困惑 他们应该按什么顺序来 第一个是保留数字的大小 而第二个是保留数字的数量 还是
  • 为什么修改数组的副本会影响原始数组?

    大家好 如果这是一个菜鸟问题 我很抱歉 但我使用的是 python 我有一个问题 我复制一个数组 但当我修改副本时 它会影响原始数组 我想将边界矩阵的线性偏移添加到一组坐标 boundaries 5 818 0 0 0 0 0 0 5 81
  • TFS + 获取最新版本

    当我从 TFS 获取最新版本时 有没有办法列出已更新的文件 如果您使用的是 Visual Studio IDE 您可以在 输出 窗口中看到文件列表 要查看 输出 窗口 请选择菜单 视图 gt 输出 希望这可以帮助
  • Dialyzer 无法识别使用多态类型的函数中的错误

    背景 我正在尝试使用透析器进行多态打字 作为一个例子 我正在使用著名的Option类型 又名 Maybe Monad 现在在许多其他语言中都很流行 defmodule Test do type option t some t nothing
  • Kotlin 中参数的通用通配符

    我有一个用于监听 api 回调的抽象类 如下所示 ApiRs 是每个 API 响应对象都继承自它的父对象 abstract class ApiCallback
  • swift 中的 UIView viewwithtag 方法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在努力学习一些快速的知识 我以编程方式添加标签 我想稍后更改它们的属性 viewwithtag 方法返回一个 UIView 如何从
  • 复制切片的通用方法

    我需要复制切片 以及底层数组的一部分 以便调用者不会改变数组的原始元素 我想我可以编写一个函数来对特定类型的数组执行此操作 func duplicateSliceOfSomeType sliceOfSomeType SomeType Som
  • 由于将请求从主线程传递到工作线程,netty 中出现延迟?

    我有一些关于 Netty 服务器端 TCP IP 应用程序的问题 我想知道在将请求从老板线程传递到工作线程时是否会因为 netty 由于缺少配置等 而出现延迟 我在用 new OrderedMemoryAwareThreadPoolExec
  • 使用 SolidJS 中的 fetch API 渲染远程数据

    我是一个使用 Solid JS 以及就此而言的 JS 的新手 并且在尝试填充 自定义 时遇到了看似奇怪的行为 table 使用来自 API 的数据的组件fetch 这是我的 table import Component For from s
  • 为什么我的 SqlConnection 在关闭后仍保留在 SSMS 进程列表中?

    我有一个 C 控制台应用程序 代码如下 using var cn new SqlConnection cn ConnectionString Data Source localhost Integrated Security True Pe
  • 使用 Xcode 的命令行构建工具进行存档(xcodebuild archive)

    用于构建 Xcode 项目的命令行工具 xcodebuild 在 Xcode 4 中提供了一个新的构建操作 archive From man xcodebuild archive Archive a scheme from the buil
  • SwiftUI Focus State API 环境变量不起作用

    当我们想要观察 SwiftUI 文本字段的焦点状态时 环境值 isFocused 似乎不起作用 除了将值传递给 TextFieldStyle 的 init 我们必须为每个 Textfield 执行此操作 之外 还有其他方法可以做到这一点吗
  • 如何重置html中选定的索引下拉值?

    我需要在提交表单后为下拉菜单设置 selectedindex 0 我尝试如下 filterByName prop selectedIndex 0 filterByName selectedIndex 0 filterByName get 0
  • Oracle 查询和聚合函数

    我假设在oracle 中有表名employee 1 如果 mobile no 和 sim no 相同 我想选择最大 start date 我已经尝试过 但没有成功 请帮忙 下面是employee 1表 Mobile No Sim NO St
  • 将字符串数组绑定到 datagridview 的列

    我正在设计一个有 datagridview 的 winform 我正在为该 datagridview 分配一个数据表 DataTable dt new DataTable dt Columns Add items typeof string