十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
DT.Rows.ToString未必是指结果集中的所有数据,也许只是一行中所有的,或是一列中所有的
创新互联公司专业为企业提供汉阴网站建设、汉阴做网站、汉阴网站设计、汉阴网站制作等企业网站建设、网页设计与制作、汉阴企业网站模板建站服务,10多年汉阴做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
保险起见,可以一格格枚举
dim a as boolean=true
Dim row As DataRow
For Each row In DT.Rows
Dim column As DataColumn
For Each column In DT.Columns
if row(column).contains("Agree") then a=false
Next column
Next row
if a then
Me.rblAgReject.Items(0).Enabled = False
else
Me.rblAgReject.Items(0).Enabled = True
end if
经过长时间学习VB.NET条件语句,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。在程序设计中,VB.NET条件语句能够根据表达式的值来决定代码的执行流程。在VB.NET中,条件分支语句有两种:If/Then/Else语句和Select/Case语句。
1. If/Then/Else语句
If/Then/Else语句是最常用的VB.NET条件语句。它的基本形式是:
If condition Then statements1 [Else statements2 ]
它表示:如果condition为True,那么就执行statements1;否则执行statements2。根据时间显示问候信息。
%
If Hour(Now)12 Then Response.Write ("Good morning! Cindy!")
If Hour(Now)=12 Then Response.Write ("Good noon! Cindy!")
If (Hour(Now)12 And Hour(Now)18) Then Response.Write ("Good afternoon! Cindy!")
If Hour(Now)=18 Then Response.Write ("Good evening! Cindy!")
%
在上面的例子中,函数Hour()是对给出的日期时间求它的小时数,Now函数用于返回当前的日期和时间。程序根据当时的时间判定是上午、中午还是下午,分别给出问候信息。我们看到,这个写法很简单,但是这个程序为了显示一条问候信息,要对Hour(Now)取值4次并且执行4次比较才能完成,从效率上考虑并不好。If/Then/Else语句还可以写成比较复杂的形式:
If condition_1 Then
statements_1
[ElseIf condition_m Then statements_m
[ElseIf condition_n Then…]]
[Else statements_2]
End If
这个语句可以检测多个条件。第一种写法要求语句在写的时候要在一行中写完,例如例2.4 的第2行的If语句。这条语句也可以采用第二种方法来写,方法如下:
If Hour(Now)12 Then
Response.Write ("Good Morning!Cindy!")
End If
建议用户采用后一种写法,因为这种方法更结构化,可读性好。当用户在调试大型软件的代码时,会发现,虽然看起来多写了几行语句,但好处却是很大的。根据时间显示问候信息。请注意这个例子的写法与上个例子中的写法在执行效率上的区别。
%
If Hour(Now)12 Then
Response.Write ("Good morning! Cindy!")
ElseIf Hour(Now)=12 Then
Response.Write ("Good noon! Cindy!")
ElseIf Hour(Now)=18 Then
Response.Write ("Good evening! Cindy!")
Else
Response.Write ("Good afternoon! Cindy!")
End If
%
上面的例子在执行的过程中,对于当前不同的时间,为了显示问候信息,执行的Hour(Now)的取值和比较的次数是不一样的:最少只要1次,最多需要3次。
2. Select/Case结构
当程序中的条件比较复杂,而且是根据同一个表达式的不同值执行不同操作的时候,用If/Then/Else语句来写就显得十分烦琐。这时可以考虑采用Select/Case结构来完成VB.NET条件语句。
Select/Case结构为:
Select Case testexpression
Case condition_1
statements_1
[… Case Else statements_n]
End Select
它表示:如果testexpression的值是Condition_1,就执行statements_1,以此类推,如果都不符合,就执行Statements_n。用Select/Case语句来实现问候信息的显示。
%
Select Case Hour(Now)
Case 0,1,2,3,4,5,6,7,8,9,10,11
Response.Write ("Good morning! Cindy!")
Case 12
Response.Write ("Good noon! Cindy!")
Case 13,14,15,16,17
Response.Write ("Good afternoon! Cindy!")
Case Else
Response.Write ("Good evening! Cindy!")
End Select
%
很明显,用这种方法来显示问候信息要比用If/Then/Else语句清楚得多。因此,在选择VB.NET条件语句的时候要考虑好采用什么方式,并认真设置好条件。
Dim F1 As New Datasystem.Form2 '实例化窗体
For Each na As Form In Application.OpenForms '打开窗体的集合
If na.ProductName = F1.ProductName AndAlso na.Name = F1.Name 0 Then '判断程序集的产品名称和窗体名称是否已存在打开的窗体中
If na.WindowState = FormWindowState.Minimized Then '判断窗体是否最小化
na.WindowState = FormWindowState.Normal '还原窗体
End If
na.Activate() '激活窗体
Return '返回
End If
Next
F1.Show() '如果没有打开的窗体中未找到,重新打开窗体
Dim a, b As Integer
b = 10
If b 2 Then
a = 0
ElseIf 2 b and b 6 Then
a = 2
Else
a = 6
End If
TextBox1.Text = a
运行结果是6
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Focus Then : TextBox1.Text = Val(TextBox1.Text) * 10 + 1 : Else : TextBox3.Text = Val(TextBox3.Text) * 10 + 1 : End If
End Sub
或
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Focus Then
TextBox1.Text = Val(TextBox1.Text) * 10 + 1
Else
TextBox3.Text = Val(TextBox3.Text) * 10 + 1
End If
End Sub
楼主只是单纯的格式错误而已。
If...Then... 是可以
If...Then...Else 是不存在的
需要一行内用到的话,必须还要跟个End If,也就是
If...Then...Else...End If
当然最好还是分行写,自己以后修改也容易看
If 条件1 Then
' 代码
ElseIf 条件2 Then
' 代码
ElseIf 条件2 Then
' 代码
Else
' 代码
End If
其中ElseIf行与Else行,在不需要时都可以不写。