日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2025/5/22 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [导入]关于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等控件中的自动编号的全部內容,希望文章能夠幫你解決所遇到的問題。

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