至于case when用在那里,我在这里只是用到了一小部分,一个是与否的问题;
如图所示:
![casewhen.jpg](https://i-blog.csdnimg.cn/blog_migrate/377a20fd4e413d77668e2a02f82b34cc.jpeg)
以前的做法是在DataGrid_ItemDataBound事件里面处理,
大概的做法是这样写的
1
Private
Sub DataGrid1_ItemDataBound()
Sub DataGrid1_ItemDataBound(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles Datagrid1.ItemDataBound
2
If (e.Item.ItemIndex <> -1) Then
3
' e.Item.Cells(1).Text = System.Convert.ToString(e.Item.ItemIndex + 1 + DataGrid1.CurrentPageIndex * DataGrid1.PageSize)
4
If e.Item.Cells(5).Text.ToString = "False" Then
5
e.Item.Cells(5).Text = "没有通过"
6
e.Item.BackColor = Color.LightSkyBlue
7![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
8
Else
9
If e.Item.Cells(5).Text = "True" Then
10
e.Item.Cells(5).Text = "已经通过"
11
End If
12
End If
13
End If
14
End Sub
超级麻烦,不过可以定义背景颜色,也很不错
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
2
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
3
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
4
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
5
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
6
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
7
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
8
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
9
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
10
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
11
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
12
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
13
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
14
![ExpandedBlockEnd.gif](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
昨天看了case when的用法之后,才知道不要那么麻烦了
1
Select
2
a.UserBorrowID,a.UserID,a.BookID,a.BorrowDate,b.UserName,c.Title ,a.GoOnDate,a.IsReturn,
3
a.IsGoOn,
4
a.ReturnDate,
5
case
a.IsGoOn
6
when
1
then
'
是
'
7
when
0
then
'
否
'
8
END
As
IsGoOnBorrow,
9
case
a.IsReturn
10
when
1
then
'
是
'
11
when
0
then
'
否
'
12
End
as
IsReturn1
13
from
Library_Borrows
as
a,Library_books
as
c,Library_Users
as
b
14
where
15
a.bookid
=
c.bookid
and
a.userid
=
b.UserID
and
a.UserID
=
@UserID
16
ORDER
BY
a.ModifyDate
DESC
^_^,建立一个存储过程,然后就不用再ItemBound里面写了。这样就可以解决问题,当然还可以拓展开来,比如可以用case when 的搜索形式进行变换字符串 case when GoOndate<... then '通过' 这样就可以减少在.vb中写代码了。
![None.gif](/Images/OutliningIndicators/None.gif)
2
![None.gif](/Images/OutliningIndicators/None.gif)
3
![None.gif](/Images/OutliningIndicators/None.gif)
4
![None.gif](/Images/OutliningIndicators/None.gif)
5
![None.gif](/Images/OutliningIndicators/None.gif)
6
![None.gif](/Images/OutliningIndicators/None.gif)
7
![None.gif](/Images/OutliningIndicators/None.gif)
8
![None.gif](/Images/OutliningIndicators/None.gif)
9
![None.gif](/Images/OutliningIndicators/None.gif)
10
![None.gif](/Images/OutliningIndicators/None.gif)
11
![None.gif](/Images/OutliningIndicators/None.gif)
12
![None.gif](/Images/OutliningIndicators/None.gif)
13
![None.gif](/Images/OutliningIndicators/None.gif)
14
![None.gif](/Images/OutliningIndicators/None.gif)
15
![None.gif](/Images/OutliningIndicators/None.gif)
16
![None.gif](/Images/OutliningIndicators/None.gif)
但是现在还不知道性能怎么样,因为我对测试性能是一无所知。