感谢大家无私的帮助,这里还有一个问题,在线等。。。。。。
先贴两段代码,引入正题:
ADDOrderID.aspx
<%@ Page language="c#" Inherits="CommonFunction.addOrderID" CodeFile="addOrderID.aspx.cs" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>addOrderID</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<h2>为DataGrid添加自动编号列</h2>
<asp:DataGrid id="dgAddOrderID" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 56px"
runat="server" ToolTip="第一列为添加的自动标识列" CellPadding="4" BackColor="White" BorderWidth="1px"
BorderStyle="None" BorderColor="#3366CC" Height="20px" Width="512px" AutoGenerateColumns="False"
ShowFooter="True">
<SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
<ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle>
<FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
<Columns>
<asp:BoundColumn HeaderText="序号"></asp:BoundColumn>
<asp:BoundColumn DataField="LastName" HeaderText="姓名"></asp:BoundColumn>
<asp:BoundColumn DataField="FirstName" HeaderText="姓"></asp:BoundColumn>
<asp:BoundColumn DataField="BirthDate" HeaderText="出生年月" DataFormatString="{0:D}"></asp:BoundColumn>
<asp:BoundColumn DataField="City" HeaderText="城市"></asp:BoundColumn>
</Columns>
<PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
</asp:DataGrid>
</form>
</body>
</HTML>
ADDOrderID.aspx.cs
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;
using System.Data.SqlClient;
using System.Configuration;
namespace CommonFunction
{
/// <summary>
/// addOrderID 的摘要说明。
/// </summary>
public partial class addOrderID : System.Web.UI.Page
{
protected void Page_Load(object sender, System.EventArgs e)
{
//页面初试化时进行数据绑定
if(!IsPostBack)
DataGridDataBind();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dgAddOrderID.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.AddOrderID);
}
#endregion
// private void AddOrderID(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
// {
// //如果当前项不为空
// if(e.Item.ItemIndex != -1 )
// {
// //取得当前项的索引值加1,因为项的索引值是从0开始的.
// int orderID = e.Item.ItemIndex+1;
// //设置第一列为的单元格内容为当前项索引值加1
// e.Item.Cells[0].Text = orderID.ToString();
// }
// }
//进行数据绑定
private void DataGridDataBind()
{
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
//创建数据适配器对象
SqlDataAdapter da = new SqlDataAdapter("select LastName,FirstName,BirthDate,City from Employees",conn);
//创建DataSet对象
DataSet ds = new DataSet();
try
{
//填充数据集
da.Fill(ds,"testTable");
//进行数据绑定
dgAddOrderID.DataSource = ds.Tables["testTable"];
dgAddOrderID.DataBind();
}
catch(Exception error)
{
Response.Write(error.ToString());
}
}
}
}
哪位能帮我把它整为代码不分离的吗,我不喜欢这种形式的由VS自动生成的东西。
我把它改成代码前置后,由于没有写#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dgAddOrderID.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.AddOrderID);
}
这一段,所以一直不能正常显示。这一段是什么意思,改成代码前置时应该怎么改这一段?
小弟急等!!!
谢谢大家!
问题点数:20、回复次数:6Top
1 楼dcren118(酒仙)回复于 2005-08-01 18:39:23 得分 15
this.dgAddOrderID.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.AddOrderID);这个是DATAGRID的ItemDataBound关联事件!
不用CODEBEHEND技术不用考虑他!Top
2 楼wangfeng666()回复于 2005-08-01 18:55:53 得分 0
<%@ Page Language="C#" %>
<script runat="server">
protected void Page_Load(object sender, System.EventArgs e)
{
//页面初试化时进行数据绑定
if (!IsPostBack)
DataGridDataBind();
}
private void AddOrderID(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//如果当前项不为空
if (e.Item.ItemIndex != -1)
{
//取得当前项的索引值加1,因为项的索引值是从0开始的.
int orderID = e.Item.ItemIndex + 1;
//设置第一列为的单元格内容为当前项索引值加1
e.Item.Cells[0].Text = orderID.ToString();
}
}
private void DataGridDataBind()
{
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
//创建数据适配器对象
SqlDataAdapter da = new SqlDataAdapter("select LastName,FirstName,BirthDate,City from Employees", conn);
//创建DataSet对象
DataSet ds = new DataSet();
try
{
//填充数据集
da.Fill(ds, "testTable");
//进行数据绑定
dgAddOrderID.DataSource = ds.Tables["testTable"];
dgAddOrderID.DataBind();
}
catch (Exception error)
{
Response.Write(error.ToString());
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
我是这样改的,说缺少东西Top
3 楼wangfeng666()回复于 2005-08-01 18:57:45 得分 0
太长了,估计是没有人耐心看了。呜呜Top
4 楼studydotnet(Dreamfly)回复于 2005-08-01 19:01:09 得分 5
导入名称空间嘛,
你没发现吗?Top
5 楼wangfeng666()回复于 2005-08-01 19:26:37 得分 0
我又重新贴了一次,http://community.csdn.net/Expert/topic/4182/4182072.xml?temp=.6770594
大家帮忙Top
6 楼adventure007(adventure)回复于 2005-08-01 19:40:58 得分 0
又是一个儿贴大堆代码的Top




