日期:2014-05-18  浏览次数:20428 次

关于 gridview 行和行直接插入新列的问题。第3次发贴~~~~~~~~~~~
|-----------------------------|
|   编号|   姓名   |   年龄|性别|详细   |
|     1     |   小白   |   23     |   男   |     +     |
|     2     |   小蓝   |   34     |   女   |     +     |        
|           |             |           |         |           |
|           |             |           |         |           |
|           |             |           |         |           |
|-----------------------------|
|                                             1   2   3     |
|-----------------------------|
我现在需要的效果是:   1   上边列头可以,实现排序;
                                        2   点每行的+号,可以在实现在入图,编号为1   2   的行之间展开一个编辑区域或一个显示区域,点在于,这个区域要和展开的两行宽度要对齐,而且展开的部分,看上去就是在   1   2   之间在添加了一列;
                                        3   点下边的   1   2   3   可以实现   分页  

很直观的感觉就是在   正常的gridview   的每行下边+上一个可以   展开/收缩的区域,但是这个+起来貌似很麻烦,我被这个问题捆饶,郁闷啊ing~~~~~~~~~~~,谁有现成的办法,可以帮下啊。



------解决方案--------------------
<asp:TemplateColumn ItemStyle-BorderColor= "#CFE2F8 ">
<ItemTemplate >
<!--主明细-->
<img alt= "权限信息 " id= 'ICON <%# DataBinder.Eval(Container.DataItem, "c_user_id ")%> ' name= "icon "
src= ' <%#GetImgSrc(DataBinder.Eval(Container.DataItem, "ac ").ToString())%> '
onclick= "showDetail( ' <%# DataBinder.Eval(Container.DataItem, "详细 ")%> ',this); " />
<div id= 'Panel <%# DataBinder.Eval(Container.DataItem, "bc ")%> ' style= "display: none ">
<asp:Panel ID= "pnlDetail " runat= "server " EnableViewState= "False " />
</div>
<!--主明细-->
</ItemTemplate>
------解决方案--------------------
//不完整,也没测试,自己再整理一下吧
//i为所在行行号,conn为数据库连接
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter( "select .... ", conn);
conn.Open();
da.File(ds);
GridView1.DataSource = ds.Table[0];
DataRow row = ds.Table[0].NewRow();
ds.Table[0].Rows.InsertAt(row, i);
GridView1.DataBind();
------解决方案--------------------
建议用Dat