datagrid的问题!

huyidehyd 2003-10-25 10:58:33
我想生成这样一个序号列,在查询结果中,第一列为1,二列为2,以此类推(由于是查询结果,不用sqlserver的自动生成列),如果用数据库实现,如何实现?
...全文
19 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
张张好 2003-10-25
  • 打赏
  • 举报
回复
同意楼上,具体实现如下:
/////declarations部分
Protected xh1 As Integer
////page_load事件
xh1 = 0
If Page.IsPostBack = False Then
.......
dg.DataSource = ds
dg.DataBind()
end if
////dg_Bound(绑定)事件是你自定义在html中的(包括下面的dg_Item事件)
////<asp:datagrid id="dg" style="Z-INDEX: 103; LEFT: 17px; POSITION: absolute; TOP: 103px" runat="server" Font-Size="9pt" Width="703px" Height="50px" BorderStyle="Dashed" BorderColor="Olive" OnItemCommand="dg_Item" OnItemDataBound="dg_Bound" AutoGenerateColumns="False" AllowPaging="True" Font-Names="宋体">/////
Public Sub dg_Bound(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
If e.Item.ItemIndex > -1 Then
xh1 = xh1 + 1
e.Item.Cells(1).Text = xh1.ToString
End If
End Sub
/////dg_item(删除)
Public Sub dg_Item(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
....
//删除后重新绑定dg
If dg.Items.Count = 1 Then
If dg.PageCount = 2 Then
dg.CurrentPageIndex = 0
ElseIf dg.PageCount > 2 Then
dg.CurrentPageIndex = dg.CurrentPageIndex - 1
End If
End If
xh1 = 10 * dg.CurrentPageIndex //10是你的dg一页想显示的行数
dg.DataBind()
end sub
/////dg分页事件
Private Sub dg_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles dg.PageIndexChanged
Dim ds As DataSet
dg.CurrentPageIndex = e.NewPageIndex
xh1 = 10 * dg.CurrentPageIndex
ds = Session.Item("e_xmsq")
dg.DataSource = ds
dg.DataBind()
End Sub
////查询按钮
Private Sub bcha_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bcha.Click
.....
dg.CurrentPageIndex = 0
dg.DataSource = ds
xh1 = xh1 * dg.CurrentPageIndex
dg.DataBind()
end sub
sunpopoapollo 2003-10-25
  • 打赏
  • 举报
回复
往数据原添加一列后,作为新的数据原绑定到datagird中去。
public DataSet Make(DataSet ds)
{
DataColumn sequence=new DataColumn();
sequence.DataType=System.Type.GetType("System.Int32");
sequence.AllowDBNull=false;
sequence.Caption="sortnum";
sequence.ColumnName="count";
sequence.DefaultValue=0;
ds.Tables[0].Columns.Add(sequence);
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
ds.Tables[0].Rows[i]["count"]=i+1;
}
return ds;
}
kandyasp 2003-10-25
  • 打赏
  • 举报
回复
再添加一列,然后用循环绑定到datagrid

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧