一个关于如何在DataGrid中添加自动编号的功能 的问题,高分相赠,高手请进,在线等.........................
哪位能帮我把“在DataGrid中添加自动编号的功能”的代码整为代码不分离的吗,我不喜欢这种形式的由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);
}
这一段,所以一直不能正常显示。这一段是什么意思,改成代码前置时应该怎么改这一段?
小弟急等!!!
谢谢大家!
原代码我放到我的网站上了:
http://www.jeweldia.com/示例112.rar
请大家帮忙!谢了
问题点数:20、回复次数:8Top
1 楼superch0054(竹君子)回复于 2005-08-01 19:44:47 得分 6
<%# Container.ItemIndex + 1%>Top
2 楼ChengKing((.net: http://blog.csdn.net/ChengKing ))回复于 2005-08-01 19:57:26 得分 4
/// <summary>
/// 增加排名字段
/// </summary>
/// <param name="ds"></param>
/// <returns></returns>
private DataSet DealDataSet(DataSet ds)
{
DataTable dt = ds.Tables[0];
DataColumnCollection columns = dt.Columns;
columns.Add("TopID",typeof(System.Int32));
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
ds.Tables[0].Rows[i]["TopID"] = i+1;
}
return ds;
}
Top
3 楼adandelion(水源是CSDN最黑的地方,但这个最黑是CSDN一手制造的!)回复于 2005-08-01 20:32:25 得分 0
搞分,楼主给的分说好高啊Top
4 楼justin_chang(加油吧!)回复于 2005-08-01 20:48:16 得分 4
簡單一點的:
<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%# this.DataGrid1.CurrentPageIndex * this.DataGrid1.PageSize + Container.ItemIndex + 1%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>Top
5 楼justin_chang(加油吧!)回复于 2005-08-01 20:49:13 得分 0
邦定数据后就ok了Top
6 楼justin_chang(加油吧!)回复于 2005-08-01 20:49:52 得分 0
结贴时要给分哦Top
7 楼qiao198(乔本)回复于 2005-08-01 20:58:39 得分 6
private void DataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemIndex !=-1)
{
e.Item.Cells[0].Text =(e.Item.ItemIndex +1).ToString();
}
}Top
8 楼wangfeng666()回复于 2005-08-02 10:16:38 得分 0
我把几种方法综合一下:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
bindgrid();
}
void bindgrid()
{
string strConn = ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString();
string strSql = "select * from employees";
SqlConnection conn = new SqlConnection(strConn);
SqlDataAdapter ad = new SqlDataAdapter(strSql, strConn);
DataSet ds = new DataSet();
try
{
ad.Fill(ds, "Mytable");
MyGrid.DataSource = ds.Tables["Mytable"].DefaultView;
MyGrid.DataBind();
}
catch (Exception error)
{
Response.Write(error.ToString());
}
}
protected void MyGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemIndex != -1)
e.Item.Cells[0].Text = (e.Item.ItemIndex + 1).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>
<asp:DataGrid runat=server ID=MyGrid AutoGenerateColumns=false OnItemDataBound="MyGrid_ItemDataBound">
<Columns>
<asp:BoundColumn HeaderText="序号(方法一)"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="序号(方法二)">
<ItemTemplate >
<%# Container.ItemIndex + 1%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="LastName" HeaderText="名"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
</div>
</form>
</body>
</html>
Top




