1

我正在通过 odbc 从数据库中提取一列信息。该列将包含从 1 到 9999999 的数字。我希望能够通过以下方式将值组织到具有多达 3 个级别(父级、子级和孙子级)的树视图中:

理想的结构是: AAABBCC
父: AAA0000
子: AAABB00
孙: AAABBCC

但是,如果上面的级别不存在,则该值会向上移动一个级别。例如,假设数据包含以下{1, 101, 200, 204, 1200, 1205, 1304, 290000, 291500, 291502,410204}

-- 1
-- 101
-- 200
-------- 204
--1200
--------1205
--1304
--290000
--------291500
-------- ---------291502
--410204

任何帮助将不胜感激。
标记

4

1 回答 1

1

这真的是一个非常简单的问题。

  1. .ToString("D7")通过调用每个数字将您的数字列表转换为字符串。
  2. 对转换后的列表进行排序。
  3. 以 SubString(0,3) 获取您的父值。
  4. 使用 SubString(3,2) 来获取您的子值。
  5. 取 Substring(5,2) 以获得您的孙子值。
  6. 如果您的孩子值为 00,则创建一个新的 TreeNode 父节点并将其添加到 TreeNodeCollection。
  7. 如果您的子值不是 00 而您的孙值是 00,则创建一个新的 TreeNode childNode 并将其添加到 parentNode。
  8. 如果您的孙值不是 00,则创建一个新的 TreeNode 孙节点并将其添加到您的 childNode。

如果您需要按顺序填补空白,则需要一些额外的逻辑,但这相当微不足道。

于 2012-04-20T23:14:18.130 回答