从DataGrid取值

zmrpro 2006-05-24 09:49:27
DataGrid页面初始化ItemDataBound Private Sub grdtitle_ItemDataBound(ByVal sender As System.Object, _
ByVal dgEvent As _
System.Web.UI.WebControls.DataGridItemEventArgs) _
Handles grdtitle.ItemDataBound
Dim dgiFirst As DataGridItem
Dim dgiSecond As DataGridItem
Dim tblGrid As Table
Dim tcFirst As TableCell
Dim tcSecond As TableCell
Dim intCountX As Integer
Dim strheader() As String

Dim txtHead As TextBox


Try

If (dgEvent.Item.ItemType = ListItemType.Header) Then
dgiFirst = New DataGridItem(0, -1, ListItemType.Item)
dgiSecond = New DataGridItem(0, -1, ListItemType.Item)
tblGrid = New Table
tblGrid = Me.grdtitle.Controls(0)

tblGrid.Rows.AddAt(0, dgiFirst)
tblGrid.Rows.AddAt(1, dgiSecond)

tcFirst = New TableCell
tcFirst.CssClass = "DataGrid"
tcFirst.Wrap = False
tcFirst.Width = Unit.Pixel(106)
tcFirst.HorizontalAlign = HorizontalAlign.Center
tcFirst.Text = "工程名"
tcFirst.ColumnSpan = 1
tcFirst.RowSpan = 2
dgiFirst.Cells.Add(tcFirst)
tcFirst = New TableCell
tcFirst.CssClass = "DataGrid"
tcFirst.Width = Unit.Pixel(130)
tcFirst.HorizontalAlign = HorizontalAlign.Center
tcFirst.Text = "開始日"
tcFirst.ColumnSpan = 1
tcFirst.RowSpan = 2
dgiFirst.Cells.Add(tcFirst)
'終了日のTableCellの宣言
tcFirst = New TableCell
tcFirst.CssClass = "DataGrid"
tcFirst.HorizontalAlign = HorizontalAlign.Center
tcFirst.Text = "終了日"
tcFirst.ColumnSpan = 1
tcFirst.RowSpan = 2
tcFirst.Width = Unit.Pixel(130)
dgiFirst.Cells.Add(tcFirst)


Dim iRoop As Integer

For iRoop = 1 To 15

tcFirst = New TableCell
tcFirst.CssClass = "DataGrid"
tcFirst.HorizontalAlign = HorizontalAlign.Center
tcFirst.ColumnSpan = 2
tcFirst.RowSpan = 1
tcFirst.Width = Unit.Pixel(100)
dgiFirst.Cells.Add(tcFirst)
txtHead = New TextBox
txtHead.ID = "txtHead" & CStr(iRoop)
txtHead.Width = Unit.Percentage(105)
If iRoop <= SetGridTitle().Rows.Count Then
txtHead.Text = SetGridTitle().Rows(iRoop - 1).Item(0)
End If
tcFirst.Controls.Add(txtHead)
Next

tcSecond = New TableCell
tcSecond.CssClass = "DataGrid"
tcSecond.Visible = False
tcSecond.Text = "工程名"
tcSecond.ColumnSpan = 1
'tcFirst.RowSpan = 2
dgiSecond.Cells.Add(tcSecond)
tcSecond = New TableCell
tcSecond.CssClass = "DataGrid"
tcSecond.Visible = False
tcSecond.Text = "開始日"
tcSecond.ColumnSpan = 1
'tcFirst.RowSpan = 2
dgiSecond.Cells.Add(tcSecond)
tcSecond = New TableCell
tcSecond.CssClass = "DataGrid"
tcSecond.Visible = False
tcSecond.Text = "終了日"
tcSecond.ColumnSpan = 1
'tcFirst.RowSpan = 2
dgiSecond.Cells.Add(tcSecond)

For intCountX = 1 To 15
tcSecond = New TableCell
tcSecond.CssClass = "unwriteable"
tcSecond.Width = Unit.Pixel(50)
tcSecond.VerticalAlign = VerticalAlign.Top
tcSecond.HorizontalAlign = HorizontalAlign.Left
tcSecond.Text = "直営"
dgiSecond.Cells.Add(tcSecond)
tcSecond = New TableCell
tcSecond.CssClass = "DataGrid"
tcSecond.Width = Unit.Pixel(50)
tcSecond.VerticalAlign = VerticalAlign.Top
tcSecond.HorizontalAlign = HorizontalAlign.Left
tcSecond.Text = "外注"
dgiSecond.Cells.Add(tcSecond)
Next

End If

Catch ex As Exception
Exit Sub
Finally
dgiFirst = Nothing
dgiSecond = Nothing
tblGrid = Nothing
tcFirst = Nothing
tcSecond = Nothing
strheader = Nothing
End Try

End Sub
怎样读取DataGrid项里面的值?---异常DataGrid.Rows(0).cells(0)索引超出范围
...全文
266 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmrpro 2006-05-27
  • 打赏
  • 举报
回复
都没有看懂我大问题啊!
ooOO林丹OOoo 2006-05-25
  • 打赏
  • 举报
回复
填充DataGird就简单了,直接把DataTable作为DataGird数据源就好了
当然,给DataTable和DataGird赋值取值还有其他的方法
ooOO林丹OOoo 2006-05-25
  • 打赏
  • 举报
回复
可以这样从DataGird读取值:
Dim CellCount As Short = DataGird1.Columns.Count - 1
Dim RowCount As Short = DataGird1.Items.Count - 1
Dim Tables(RowCount, CellCount) As String
Dim J As Short
Dim K As Short

For J = 0 To RowCount
For K = 0 To CellCount
Tables(J, K) = DataGird1.Items(J).Cells(K).Text
Next
Next
当年我可是花了半个月的时间才整出这套方法,经验啊
ooOO林丹OOoo 2006-05-24
  • 打赏
  • 举报
回复
可以这样给DataTable赋值:
sqltable = New DataTable
With sqltable.Columns
.Add("ID")
.Add("UserName")
.Add("Password")
...
...
End With
sqlrows = sqltable.NewRow
With sqlreader
sqlrows.Item(0) = 值
sqlrows.Item(1) = 值
sqlrows.Item(2) = 值
...
...
sqltable.Rows.Add(sqlrows)
End With
如果觉得有用,改改就可以用
zhouheng123456 2006-05-24
  • 打赏
  • 举报
回复
dt.Rows[行][列].ToString()
yqwaxyq 2006-05-24
  • 打赏
  • 举报
回复
dt.Rows[行][列].ToString()
zhqs1000 2006-05-24
  • 打赏
  • 举报
回复
呵呵,vb。net咋这长啊
lazyfish 2006-05-24
  • 打赏
  • 举报
回复
foreach(DataGridItem item in datagrid1.Items){
string a=item.cell[0].Text;
...
}

62,067

社区成员

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

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

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

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