首页 > 解决方案 > 设置/更改有界 DataGridView 的 ValueType

问题描述

我有这样的 XML 字符串:

    xmlstring =
        "<?xml version='1.0' encoding='utf-8'?>" &
        "<ArrayOfMyData xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>" &
        "  <MyData>" &
        "    <ID>80</ID>" &
        "    <MyDate>2019-08-07T07:15:32.123</MyDate>" &
        "    <MyBool>true</MyBool>" &
        "  </MyData>" &
        "  <MyData>" &
        "    <ID>1</ID>" &
        "    <MyDate>2019-10-16T14:23:23.654</MyDate>" &
        "    <MyBool>false</MyBool>" &
        "  </MyData>" &
        "  <MyData>" &
        "    <ID>203</ID>" &
        "    <MyDate>2019-10-25T11:02:26.789</MyDate>" &
        "    <MyBool>false</MyBool>" &
        "  </MyData>" &
        "</ArrayOfMyData>"

然后我将它自动加载到 DataGridView:

        Dim dataSet As DataSet = New DataSet()
        dataSet.ReadXml(New StringReader(xmlstring))
        dgv_list.DataSource = dataSet.Tables(0)

而且进展非常顺利。
DataGridView 自动生成在快速填充网格中可见的列和行。
但问题是列是类型string, string, string,而我想要integer, date, boolean因为(重新)排序目的。
作为替代方案,我知道一种“手动”创建/设置列的方法,然后逐行/逐行填充 DGV 单元。

如果这里存在任何技巧/解决方案来更改示例中的列的值类型以保持最大程度的自动化,那么有趣的是?
我尝试更改处理程序下的列 ValueType _ColumnAdded,更改事件处理程序下的写入数据_CellFormating等等。但一切都没有任何想要的结果。

请帮忙!

标签: .netvb.netdatagridview

解决方案



推荐阅读