日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[导入]关于DataGrid等控件中的自动编号

發布時間:2025/5/22 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [导入]关于DataGrid等控件中的自动编号 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:Taye
論壇中有很多人問關于
DataGrid的自動編號問題,但在論壇中我已經回復過好幾次,但還是不斷有人問

序號

內容

1

Taye

2

BOx

3

Glass

4

StarCraft


一、正序

AAllowPaging=False情況下

<asp:DataGrid id="DataGrid1" runat="server">
????<Columns>
?????<asp:TemplateColumn>
??????<ItemTemplate>
???????<%# Container.ItemIndex + 1%>
??????</ItemTemplate>
?????</asp:TemplateColumn>
????</Columns>
?</asp:DataGrid>


就可以實現

不過更有趣的方法是使用這個方法

?<asp:DataGrid id="DataGrid1" runat="server">
????<Columns>
?????<asp:TemplateColumn>
??????<ItemTemplate>
???????<%# this.DataGrid1.Items.Count + 1%>
??????</ItemTemplate>
?????</asp:TemplateColumn>
????</Columns>
?</asp:DataGrid>

?

也許有些人會覺得很奇怪為什么Items.Count會這樣,而不是出來全部總合..但如果你了解綁定的過程時就容易理解.
[
從上面來看就是在ItemCreated事件中進行綁定所以得到的Items.Count剛好是當前的序號]

B
AllowPaging="True"
如果你DataGrid支持分頁則可以如下

<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>

?

二、倒序的方法

序號

內容

4

Taye

3

BOx

2

Glass

1

StarCraft

由上面可以知道使用
this.DataGrid1.Items.Count -
Container.ItemIndex + 1方法是不可能實現的,得到值而且全會為1
分頁的情況下更是一樣.所以一開始我們就要取得數據源的行數

.cs

?? ????????? private int rowscount = 0;

???????? protected int RowsCount

???????? {

????????????? get{ return rowscount;}

????????????? set{ this.rowscount = value; }

???????? }

????

???????? private void Page_Load(object sender, System.EventArgs e)

???????? {

????????????? // 在此處放置用戶代碼以初始化頁面

????????????? if(!IsPostBack)

?????????????????? this.BindData();

???????? }

?

???????? private void BindData()

???????? {

????????????? SqlConnection cn = new SqlConnection("server=(local);database=NorthWind;uid=sa;pwd=");

????????????? string str=@"SELECT Employees.EmployeeID, Orders.EmployeeID

???????????????????????????????? FROM Employees INNER JOIN

?????????????????????? Orders ON Employees.EmployeeID = Orders.EmployeeID ";

?

????????????? SqlDataAdapter sqlda = new SqlDataAdapter(str,cn);

????????????? DataSet ds = new DataSet();

?

????????????? sqlda.Fill(ds);

?

????????????? this.RowsCount = ds.Tables[0].Rows.Count;

?

????????????? this.DataGrid1.DataSource = ds;

????????????? this.DataGrid1.DataBind();

?

???????? }



.aspx

<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True">

??????????????????????????? <Columns>

?????????????????????????????????? <asp:TemplateColumn>

????????????????????????????????????????? <ItemTemplate>

???????????????????????????????????????????????? <%# RowsCount - DataGrid1.CurrentPageIndex * DataGrid1.PageSize - Container.ItemIndex %>

????????????????????????????????????????? </ItemTemplate>

?????????????????????????????????? </asp:TemplateColumn>

??????????????????????????? </Columns>

???????????????????? </asp:DataGrid>

?

?當然如果是不是分頁的情況一下更容易實現了.


文章來源:http://mblogger.cn/taye/posts/21240.aspx

總結

以上是生活随笔為你收集整理的[导入]关于DataGrid等控件中的自动编号的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。