w!w!w!w!w!!!!!
没人理我吗?TOO EASY?
没人理我吗?TOO EASY?
解决方案 »
- (object sender, DataListItemEventArgs e)中sender和 e什么意思,都有什么作用?
- 跪求html页传值方法.
- 如何将数据导出到 Execl 文件,并引发对话框以告诉客户要下载此 Execl 文件 ?(vb)
- vs2005中的水晶报表如何让文本字段的数据进行自动折行,而不是堆在一行上?
- 【50分求解】为动态列绑定动态的数据字段
- 怎么查询出今天发的帖子?????急....................路过有分
- 求中文水晶报表下载
- asp.net(C#)如何动态创建Div 控件
- asp.net 中这个Default.aspx.designer.cs 是什么?
- 怎么给DataGrid的PageIndexChanged事件副处理程序??我怎么老错呀。。在线等,立即给分
- 在asp.net中如何屏蔽ie上方的前进和后退按钮!!!!!!!!!!!
- 关于动态添加的CheckBox和TextBox的取值问题?
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace CustomDataGridDemo
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected WebControlLibrary.CustomDataGrid CustomDataGrid1;
protected DataTable dt;
protected DataView dataView1; public class MyDataTable
{
public DataTable DataTableTmp;
public MyDataTable()
{
DataTable dt = new DataTable();
DataRow r; dt.Columns.Add("id");
dt.Columns.Add("column1");
dt.Columns.Add("column2");
dt.Columns.Add("column3");
dt.Columns.Add("column4"); for(int i=1; i<20; i ++)
{
r= dt.NewRow(); r["id"] = i.ToString();
r["column1"] = "Column 1 : " + i.ToString();
r["column2"] = "Column 2 : " + i.ToString();
r["column3"] = "Column 3 : " + i.ToString();
r["column4"] = "Column 4 : " + i.ToString(); dt.Rows.Add(r);
}
DataTableTmp = dt;
} }
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
MyDataTable mdt = new MyDataTable();
dt = mdt.DataTableTmp;
dataView1 = dt.DefaultView; CustomDataGrid1.DataBind();
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}
<div style="OVERFLOW: scroll; HEIGHT: 385px" id="canRollDiv">
<div id="floatDiv" style="position:absolute;top:expression(this.parentNode.scrollTop);left:expression(this.parentNode.scrollLeft);z-index:1;background:#000000"></div>
<asp:DataGrid id="DG1List" runat="server" BackColor="#000000" AutoGenerateColumns="False" CellSpacing="1" CellPadding="0" ShowHeader="True" BorderWidth="0" GridLines="both">
<HeaderStyle BorderStyle="None" BackColor="#F7F7F7" HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="center" BackColor="#ffffff"></ItemStyle>
<Columns>
<asp:BoundColumn DataField="jcode" HeaderText="代码" HeaderStyle-Width="25"></asp:BoundColumn>
<asp:BoundColumn DataField="jname" HeaderText="教师姓名" HeaderStyle-Width="52"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
</div>
在html页面最后写上
<script language="javascript">
<!--
var obj=document.createElement("TABLE");
floatDiv.appendChild(obj);
var objTH=document.createElement("THEAD");
obj.appendChild(objTH);
var objTR=DG1List.firstChild.firstChild.cloneNode(true);
objTH.appendChild(objTR);
objTR.mergeAttributes(DG1List.firstChild.firstChild);
for(i=0;i<objTR.childNodes.length;i++)
{
objTR.childNodes[i].style.borderWidth="1px";
objTR.childNodes[i].mergeAttributes (DG1List.firstChild.firstChild.childNodes[i]);
}
obj.style.borderWidth="1px";
//-->
</script>
你的方法我已试过,虽可固定表头,但列宽是固定的,不能随列动态调整。