读书人

怎的根据数据库表中的字段生成如下树形

发布时间: 2013-03-26 09:54:34 作者: rapoo

怎样根据数据库表中的字段生成如下树形结构
怎的根据数据库表中的字段生成如下树形结构
表的结构如下:
字段 值
电机编号 JFZ1931_20121011
电机类别 交流发电机
电机型号 JFZ1931
试验日期 20121011


[解决办法]

var conn = new SqlConnection("......");
conn.Open();

var cmd = conn.CreateCommand();
cmd.CommandText = "select 电机编号, 电机类别, 电机型号, 试验日期 from 表";

var reader = cmd.ExecuteReader();

var rootNode = this.treeView1.Nodes.Add("车用电机NVH试验数据");
Func<TreeNode, string, TreeNode> func = (v1, v2) =>
{
TreeNode[] nodes = v1.Nodes.Find(v2, false);
if (nodes.Length > 0)
{
return nodes[0];
}

TreeNode n = v1.Nodes.Add(v2);
n.Name = v2;
return n;
};

while (reader.Read())
{
var num = reader.GetString(0);
var category = reader.GetString(1);
var model = reader.GetString(2);
var year = reader.GetDateTime(3).ToString("yyyy") + "年";

var cateNode = func(rootNode, category);
var modelNode = func(cateNode, model);
var yearNode = func(modelNode, year);
yearNode.Nodes.Add(num);

}

reader.Dispose();
cmd.Dispose();
conn.Dispose();

读书人网 >.NET Framework

热点推荐