GridView自动生成列后模板列显示位置调整的解决办法
发布日期:2012-02-17
点击:4166
字体:[
大 中
小]
如果不做调整,GridView在自动生成列后,模板列总是显示在自动生成列前面,但有时出于特殊需要,必须显示在自动生成列后面,怎么办哪,下面通过javaScript可以很好的解决这个问题:
页面代码:
[c-sharp]
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>无标题页</title>
- <script type="text/javascript" language="javascript"><!--
-
-
- function getGridViewId()
- {
- var id;
- var tb = document.getElementsByTagName("table");
- for(var i=0;i<tb.length;i++)
- {
- if(tb[i].id.indexOf("GridView1")!=-1)
- {
- id = tb[i].id;
- break;
- }
- }
- return id;
- }
-
-
- window.onload=function()
- {
- var tb = document.getElementById(getGridViewId());
- for(var i=0;i<tb.rows.length;i++)
- {
- if(tb.rows[i].cells.length<=1) break;
- var firsttd = tb.rows[i].cells[0].cloneNode(true);
- var newtd = tb.rows[i].insertCell();
- newtd.replaceNode(firsttd);
- tb.rows[i].cells[0].style.display="none";
- tb.rows[i].cells[tb.rows[i].cells.length-1].style.display="block";
- }
- }
-
-
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" DataSourceID="ObjectDataSource1" Width="100%" OnRowCommand="GridView1_RowCommand">
- <Columns>……//省略GridView代码
昵称:匿名 |
来自:125.110.65.* |
|
2012/7/6 15:33:03
|
我擦 下文呢.....
|
|
|
|
|