怎么得到类中的属性生成表的列
如何得到类中的属性生成表的列?
private void button1_Click(object sender, EventArgs e)
{
A[] h;
A G = new A();
DataSet ds = new DataSet();
getdata(out h);
DataTable dt=new DataTable();
//dt.Columns.Add("addr");
// DataTable d;
//foreach (A tr in h)
//{
// dt.Rows.Add(tr);
//}
foreach (var item in typeof(A).GetFields())//得到值
{
// Console.WriteLine(item.GetValue(A , null));
string values;
values = item.GetValue(h[0]).ToString();//values的值就是0t,0name
// colum = colum.Substring(1, colum.Length - 1);
}
上面的代码只能得到addr,name的值,我想动态的获得列头
动态的实际下面的动作
dt.Columns.Add(变量);//dt.Columns.Add("addr")
//即类中的addr,name
或者有没有办法直接返回成dataset也可以
ds.Tables.Add(dt);
}
private void getdata(out A[] k)
{
A[] g = new A[10];
for (int t = 0; t <10; t++)
{
g[t] = new A();
g[t].addr = t.ToString() + "t";
g[t].name = t.ToString() + "name";
}
k = g;
}
public class A
{
public string addr;
public string name;
public A()
{
}
public string setaddr
{
set {addr = value;}
}
public string setname
{
set { name = value; }
}
}
------解决思路----------------------
拜托,把代码整理得清晰些。。。。。
item.GetValue获得的是类的字段的值,如果你想获得字段名,用item.name就行,没记错的话。
dt.columns.add(item.name);
private void button1_Click(object sender, EventArgs e)
{
A[] h;
A G = new A();
DataSet ds = new DataSet();
getdata(out h);
DataTable dt=new DataTable();
//dt.Columns.Add("addr");
// DataTable d;
//foreach (A tr in h)
//{
// dt.Rows.Add(tr);
//}
foreach (var item in typeof(A).GetFields())//得到值
{
// Console.WriteLine(item.GetValue(A , null));
string values;
values = item.GetValue(h[0]).ToString();//values的值就是0t,0name
// colum = colum.Substring(1, colum.Length - 1);
}
上面的代码只能得到addr,name的值,我想动态的获得列头
动态的实际下面的动作
dt.Columns.Add(变量);//dt.Columns.Add("addr")
//即类中的addr,name
或者有没有办法直接返回成dataset也可以
ds.Tables.Add(dt);
}
private void getdata(out A[] k)
{
A[] g = new A[10];
for (int t = 0; t <10; t++)
{
g[t] = new A();
g[t].addr = t.ToString() + "t";
g[t].name = t.ToString() + "name";
}
k = g;
}
public class A
{
public string addr;
public string name;
public A()
{
}
public string setaddr
{
set {addr = value;}
}
public string setname
{
set { name = value; }
}
}
------解决思路----------------------
拜托,把代码整理得清晰些。。。。。
item.GetValue获得的是类的字段的值,如果你想获得字段名,用item.name就行,没记错的话。
dt.columns.add(item.name);