在ASP.NET中访问DataGrid中所有控件的值

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

在ASP.NET中访问DataGrid中所有控件的值

作者:孟宪会 出自:【孟宪会之精彩世界】 发布日期:2003年5月5日 2点50分20秒

要在ASP.NET中访问DataGrid中所有控件的值,可以遍历DataGrid中每个控件:下面就是实现这一功能的aspx代码和脚本代码【VB.NET】

' runat="server"

' runat="server"

C#

C++

VB

SQL Server

1 Year

3 Year

5 Year

10 Year

HighSchool

Graduate

Masters

PHD

后端代码: Imports System.Collections

Public Class DataGridAccessValues

Inherits System.Web.UI.Page

Protected WithEvents MyDataGrid As System.Web.UI.WebControls.DataGrid

Protected WithEvents GetValues As System.Web.UI.WebControls.Button

Protected WithEvents ResultField As System.Web.UI.WebControls.Label

#Region " Web 窗体设计器生成的代码 "

'该调用是 Web 窗体设计器所必需的。

Private Sub InitializeComponent()

End Sub

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init

'CODEGEN: 此方法调用是 Web 窗体设计器所必需的

'不要使用代码编辑器修改它。

InitializeComponent()

End Sub

#End Region

Public Sub GetValues_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles GetValues.Click

Dim Result As String = ""

Dim dataGridItem As DataGridItem

For Each dataGridItem In MyDataGrid.Items

Dim Name As String = dataGridItem.Cells(0).Text

Dim AgeField As TextBox = dataGridItem.FindControl("AgeField")

Dim Age As Integer = System.Convert.ToInt64(AgeField.Text).ToString()

Dim IsGraduateField As CheckBox = dataGridItem.FindControl("IsGraduateField")

Dim IsGraduate As Boolean = IsGraduateField.Checked

Dim Skills As String = ""

Dim item As ListItem

Dim CheckBoxList1 As CheckBoxList = dataGridItem.FindControl("CheckBoxList1")

For Each item In CheckBoxList1.Items

If item.Selected Then

Skills = Skills + item.Value + ","

End If

Next

Skills = Skills.TrimEnd(",")

Dim RadioButtonList1 As RadioButtonList = dataGridItem.FindControl("RadioButtonList1")

Dim Experience As String = RadioButtonList1.SelectedItem.Text

Dim DropDownList1 As DropDownList = dataGridItem.FindControl("DropDownList1")

Dim Degree As String = DropDownList1.SelectedItem.Text

Result = Result + Name

Result = Result + "[年龄:" + Age.ToString() + "]"

Result += " "

If IsGraduate Then

Result += "已经毕业 , "

Else

Result += "没有毕业 , "

End If

Result += "技能:" + Skills + " , "

Result += "经验: " + Experience + " , 和 "

Result += "学位: " + Degree + "。"

Result += "

"

Next

ResultField.Text = Result

End Sub

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'在此处放置初始化页的用户代码

If Not Page.IsPostBack Then

Dim data As ArrayList = New ArrayList()

data.Add(New Person("Net_lover", 33, True))

data.Add(New Person("孟子E章", 28, True))

data.Add(New Person("精彩世界", 20, False))

data.Add(New Person("XML开发", 27, True))

MyDataGrid.DataSource = data

MyDataGrid.DataBind()

End If

End Sub

End Class

Public Class Person

Private _Name As String

Private _Age As Integer

Private _IsGraduate As Boolean

Public Sub New(ByVal Name As String, ByVal Age As Integer, ByVal IsGraduate As Boolean)

_Name = Name

_Age = Age

_IsGraduate = IsGraduate

End Sub

Public Property Name() As String

Get

Return _Name

End Get

Set(ByVal Value As String)

_Name = Value

End Set

End Property

Public Property Age() As Integer

Get

Return _Age

End Get

Set(ByVal Value As Integer)

_Age = Value

End Set

End Property

Public Property IsGraduate() As Boolean

Get

Return _IsGraduate

End Get

Set(ByVal Value As Boolean)

_IsGraduate = Value

End Set

End Property

End Class

C#例子代码:

' runat="server"

' runat="server"

C#

C++

VB

SQL Server

Less then 1 Year

Less then 3 Year

Less then 5 Year

Less then 10 Year

HighSchool

Graduate

Masters

PHD

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航