请问在DataGrid前怎么加个序号来表示是第几行啊? 请问在DataGrid前怎么加个序号来表示是第几行啊? 不要告速我在表中建个自增的项ID.这个方案不要.我的想法是用一个模版列,lable.但我不知道怎么让Lable.Text 每行生成是自加一,各位高手给点代码吧~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <%# Container.DataItem.ItemIndex %> 首先在DataGrid中加入一个序号的模板列,然后在DataGrid的ItemDataBound事件中如此操作:if (e.Item.ItemIndex >= 0){ intRecordCount = this.QDataGridProjectQuery.PageSize * this.QDataGridProjectQuery.CurrentPageIndex + e.Item.ItemIndex + 1; //e.Item.Cells[i].Text = intRecordCount.ToString(); ((Label)e.Item.Cells[i].FindContrl["Label1"]).Text = intRecordCount.ToString();} 1.加一个绑定列2.在DataGrid控件的ItemDataBound事件中处理//如果当前项不为空if(e.Item.ItemIndex != -1 ){ //取得当前项的索引值加1,因为项的索引值是从0开始的. int orderID = e.Item.ItemIndex+1; //设置第一列为的单元格内容为当前项索引值加1 e.Item.Cells[0].Text = orderID.ToString();} -------- 在datagrid 前添加序号 ---------<asp:TemplateColumn> <ItemTemplate> <%#(DataGrid1.CurrentPageIndex*DataGrid1.PageSize+DataGrid1.Items.Count+1)%> </ItemTemplate> </asp:TemplateColumn> .aspx<%@ Page language="c#" Codebehind="addOrderID.aspx.cs" AutoEventWireup="false" Inherits="CommonFunction.addOrderID" %><!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 MS_POSITIONING="GridLayout"> <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>=================================================================.csusing 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 class addOrderID : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid dgAddOrderID; private 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); this.Load += new System.EventHandler(this.Page_Load); } #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()); } } }} 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(); } } 打开或者另存为文件问题 关于GridView半自动绑定问题! .net2.0网站,SQL2000数据库,重做系统后首页图片无法显示 求一个sql2000、sql2005下高效率存储过程。 请教:在window 2000 ADV server安装.NETFramework2.0的前提环境 自动闭合html代码 调查,合肥写ASP.NET的工资多少啊? 如何弹出消息框? magicAjax在iis7中web.config怎么配置 怎样能做成Visual stdio.net中工具箱的那种导航效果 如何做到给了别人ASP程序,而又不让他知道源代码呢 请教:ASP.NET中如何通过代码将指定刷新?
{
intRecordCount = this.QDataGridProjectQuery.PageSize * this.QDataGridProjectQuery.CurrentPageIndex + e.Item.ItemIndex + 1;
//e.Item.Cells[i].Text = intRecordCount.ToString();
((Label)e.Item.Cells[i].FindContrl["Label1"]).Text = intRecordCount.ToString();
}
2.在DataGrid控件的ItemDataBound事件中处理
//如果当前项不为空
if(e.Item.ItemIndex != -1 )
{
//取得当前项的索引值加1,因为项的索引值是从0开始的.
int orderID = e.Item.ItemIndex+1;
//设置第一列为的单元格内容为当前项索引值加1
e.Item.Cells[0].Text = orderID.ToString();
}
<asp:TemplateColumn>
<ItemTemplate>
<%#(DataGrid1.CurrentPageIndex*DataGrid1.PageSize+DataGrid1.Items.Count+1)%>
</ItemTemplate>
</asp:TemplateColumn>
<%@ Page language="c#" Codebehind="addOrderID.aspx.cs" AutoEventWireup="false" Inherits="CommonFunction.addOrderID" %>
<!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 MS_POSITIONING="GridLayout">
<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>
=================================================================
.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 class addOrderID : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid dgAddOrderID;
private 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);
this.Load += new System.EventHandler(this.Page_Load); }
#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());
}
}
}
}
{
//如果当前项不为空
if(e.Item.ItemIndex != -1 )
{
//取得当前项的索引值加1,因为项的索引值是从0开始的.
int orderID = e.Item.ItemIndex+1;
//设置第一列为的单元格内容为当前项索引值加1
e.Item.Cells[0].Text = orderID.ToString();
}
}