您的位置:首页 > 数据库

读取数据库中xml类型文件,并把每个节点名当做列名用gridview显示出来

2012-02-15 13:28 507 查看
private void getorigndate(string sql)

{

DataSet dst = gs.GetDataBySql(sql);

DataSet ds = new DataSet();

DataSet ds1 = new DataSet();

//第一步创建table columns

DataTable newdt = new DataTable();

if (dst.Tables[0].Rows.Count >= 1)

{

this.Label3.Visible = false;

ds.ReadXml(new StringReader(dst.Tables[0].Rows[0]["orign_data"].ToString()

));

foreach (DataRow drow in ds.Tables["column"].Rows)

{// 循环每一列

newdt.Columns.Add(drow["name"].ToString());

}

//循环插入数据

DataRow drAdd = null;

foreach (DataRow drow in dst.Tables[0].Rows)

{//循环所以行

ds1 = new DataSet();

ds1.ReadXml(new StringReader(drow["orign_data"].ToString()));//读出来一行

drAdd = newdt.Rows.Add();//new 一行

foreach (DataRow dr1 in ds1.Tables["column"].Rows)

{

//循环每个column中的 name 和value

if (newdt.Columns.Contains(dr1["name"].ToString()))

{

drAdd[dr1["name"].ToString()] = dr1["value"];

}

//}else

//{

// newdt.Columns.Add(dr1["name"].ToString());

// drAdd[dr1["name"].ToString()] = dr1["value"];

//}

}

}

//this.RadGrid1.DataSource = newdt;

//this.RadGrid1.DataBind();

GridView1.DataSourceID = null;

this.GridView1.DataSource = newdt;

this.GridView1.DataBind();

}

else

{

this.Label3.Visible = true;

this.Label3.Text = "没有符合条件的数据!";

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐