关于datadrid显示序号的问题

weiweilover 2006-11-09 02:29:35
VB.net中怎么能使datadrid在最左边的列显示编号??

注明:本论坛很多朋友给出了datadrid在最左边的列显示编号的问题,都是在做asp.net应用程序时用到的datadrid控件,但是VB.net form窗体中加的datadrid控件不一样很多属于和方法都不同。
...全文
196 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dlzhangln 2006-11-10
  • 打赏
  • 举报
回复
可以重绘行头

private void dataGrid1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)

{

int row = TopRow();

int yDelta = dataGrid1.GetCellBounds(row, 0).Height + 1;

int y = dataGrid1.GetCellBounds(row, 0).Top + 2;



CurrencyManager cm = (CurrencyManager) this.BindingContext[dataGrid1.DataSource, dataGrid1.DataMember];

while(y < dataGrid1.Height - yDelta && row < cm.Count)

{

//get & draw the header text...

string text = string.Format("row{0}", row);

e.Graphics.DrawString(text, dataGrid1.Font, new SolidBrush(Color.Black), 12, y);

y += yDelta;

row++;

}

}
gezichong 2006-11-10
  • 打赏
  • 举报
回复
可以先给表增加一列,再把这个表加载到gridview
如:
Dim NewColumn As New System.Data.DataColumn
With NewColumn
.ColumnName = "GS_PM"
.AutoIncrementStep = 1
.AutoIncrementSeed = 1
.AutoIncrement = True
End With
dtt.Columns.Add(NewColumn) 'dtt为一个已知的数据表
dtt.Merge(dt)
Dim dv As New System.Data.DataView
dv = dtt.DefaultView
Me.dgGS.DataSource = dv 'dgGS为datagrid控件
Me.dgGS.DataBind()
darkblue_69 2006-11-10
  • 打赏
  • 举报
回复
1:手动在dategrid里加一列NO.
2: 数据绑定后调用以下函数

Private Sub SetRecordNO()
Dim intRowNum, i As Integer

intRowNum = dgv.RowCount

For i = 0 To intRowNum - 1
dgv(0, i).Value = CStr(i + 1)
Next

End Sub
从不签到 2006-11-10
  • 打赏
  • 举报
回复
e.Item.Cells[1].Text=Cstr(e.Item.ItemIndex+1)
weiweilover 2006-11-10
  • 打赏
  • 举报
回复
这样是可以显示标号,不过显示的序号在最右边的一列,不是第一列.
dlzhangln 2006-11-09
  • 打赏
  • 举报
回复
Me.dataGrid1.DataSource=dts.Tables(0).DefaultView
dlzhangln 2006-11-09
  • 打赏
  • 举报
回复
VB.net
Dim col As New DataColumn("id", GetType(Integer))
dts.Tables(0).Columns.Add("id")
dim i as integer
for i=0 to dts.Tables(0).Rows.Count-1
dts.Tables(0).Rows(i).Item("id")=i
next
dlzhangln 2006-11-09
  • 打赏
  • 举报
回复
像这样
DataColumn col =new DataColumn("id",typeof(int));
dts.Tables[0].Columns.Add("id");
for(int i=0;i<dts.Tables[0].Rows.Count ;i++)
{
dts.Tables[0].Rows[i]["id"]=i;
}
weiweilover 2006-11-09
  • 打赏
  • 举报
回复
具体怎么用呢? 麻烦高手赐教
yumanqing 2006-11-09
  • 打赏
  • 举报
回复
自己加一列吧
copico 2006-11-09
  • 打赏
  • 举报
回复
你可以在查询出来的时候加序号绑定
snowvan 2006-11-09
  • 打赏
  • 举报
回复
自己加一个序号

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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