110,533
社区成员
发帖
与我相关
我的任务
分享
DataTable dt = new DataTable();
private void button1_Click(object sender, EventArgs e)
{
dt = MakeParentTable();
this.dataGridView1.DataSource = dt.DefaultView;
}
private DataTable MakeParentTable()
{
System.Data.DataTable table = new DataTable("ParentTable");
DataColumn column;
DataRow row;
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "id";
table.Columns.Add(column);
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "ParentItem";
column.AutoIncrement = false;
column.Caption = "ParentItem";
column.Unique = false;
table.Columns.Add(column);
DataColumn[] PrimaryKeyColumns = new DataColumn[1];
PrimaryKeyColumns[0] = table.Columns["id"];
table.PrimaryKey = PrimaryKeyColumns;
for (int i = 0; i <= 2; i++)
{
row = table.NewRow();
row["id"] = i.ToString();
row["ParentItem"] = "a" + i;
table.Rows.Add(row);
}
return table;
}
private DataTable Trans(DataTable dt)
{
if (dt != null)
{
DataTable tmpTable = dt;
DataRow dr = dt.NewRow();
for (int i = 0; i < dt.Columns.Count; i++)
{
string colName = dt.Columns[i].ColumnName;
dr[colName] = colName;
}
dt.Rows.InsertAt(dr,0);
DataTable newTable = new DataTable();
DataColumn column;
DataRow row;
// 新建一表,列数等于dt的行数
for (int m = 0; m < dt.Rows.Count; m++)
{
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "column" + m;
newTable.Columns.Add(column);
}
// 新建行,行数等于dt的列数
for (int i = 0; i < dt.Columns.Count; i++)
{
row = newTable.NewRow();
newTable.Rows.Add(row);
}
// 将行列倒置
for (int col = 0; col < dt.Columns.Count; col++)
{
for (int n = 0; n < dt.Rows.Count; n++)
{
newTable.Rows[col][n] = dt.Rows[n][col];
}
}
return newTable;
}
return null;
}
private void button2_Click(object sender, EventArgs e)
{
DataTable mTable = Trans(dt);
this.dataGridView2.DataSource = mTable.DefaultView;
}
<asp:TemplateField HeaderText="整船基本信息">
<ItemTemplate>
备注:<%#Eval("memo")%>
<br />
发布时间:<%#Eval("createTime")%><br />
有效时间:<%#Eval("effdate")%><br />
</ItemTemplate>
<ItemStyle Width="850px" />
</asp:TemplateField>