【发布时间】:2013-07-08 07:23:33
【问题描述】:
网格视图显示在 asp.net 的两部分中
我创建了一个 Gridview 来显示部门名称,但没有成员,但我想拆分此 gridview 并拆分为具有相同列名的 gridview 的两个部分。 请给我解决这个问题的想法。
【问题讨论】:
-
你能解释更多吗?
-
请阅读 FAQ 和 How to Ask 几遍..
网格视图显示在 asp.net 的两部分中
我创建了一个 Gridview 来显示部门名称,但没有成员,但我想拆分此 gridview 并拆分为具有相同列名的 gridview 的两个部分。 请给我解决这个问题的想法。
【问题讨论】:
使用连接(sqlCn)选择记录。
创建一个临时数据表 (dtTemp)
使用数据适配器 (sqlDA) 填充它
创建一个新的数据表 (dt)
添加列(colA1、colB1、colA2、colB2)
在循环中,创建一个数据行 (dr) 并用dtTemp 的数据填充其单元格,然后将dr 添加到dt。
将其与 datagridview (DataGridView1) 绑定。
SqlConnection sqlCn = new SqlConnection( ConfigurationManager.ConnectionStrings[ "myConStr" ].ConnectionString );
SqlDataAdapter sqlDA = new SqlDataAdapter( "SELECT col1, col2 FROM Table1", sqlCn );
DataTable dtTemp = new DataTable();
DataTable dt = new DataTable();
sqlDA.Fill( dtTemp );
//Create columns for dt
dt.Columns.Add( "colA1", typeof( String ) );
dt.Columns.Add( "colA2", typeof( String ) );
dt.Columns.Add( "colB1", typeof( String ) );
dt.Columns.Add( "colB2", typeof( String ) );
for ( int i = 0; i < dtTemp.Rows.Count; i++ )
{
DataRow dr = dt.NewRow();//create a new datarow for dt
dr["colA1"] = dtTemp.Rows[i]["col1"];
dr["colA2"] = dtTemp.Rows[i]["col2"];
i++; //move to next line
dr["colB1"] = dtTemp.Rows[i]["col1"];
dr["colB2"] = dtTemp.Rows[i]["col2"];
dt.Rows.Add( dr );
}
//Show the grid
GridView1.DataSource = dt;
GridView1.DataBind();
【讨论】:
标准的 ASP.Net GridView 组件无法做到这一点。您可以尝试通过两个 GridView 或一些 3rd 方组件来实现。
【讨论】:
你可以简单地修改你的数据源
在两个表中获取数据集中的值
按任意列排序,然后在第一个表中按字段 asc 获得半记录顺序
按任意列排序,然后按第一个表中的字段 desc 获得半记录顺序
只需要写两个select语句
它将用两个表填充数据集
然后将gridview1 与第一个绑定,gridview2 与第二个绑定。
【讨论】: