关闭

asp.net总结(2)

625人阅读 评论(0) 收藏 举报
create table worker (name varchar(10),age varchar(10),sex varchar(10),part varchar(100),salary varchar(100))
insert into worker
select 'xlei','25','male','bank','199' union all
select 'zll','25','remale','techion','299' union all
select 'wting','25','male','mobile','399' union all
select 'syong','25','remale','save','499' union all
select 'lbin','25','male','echo','599'


name  age   sex      part        salary
lbin    25    male    mobile    599
syong    25    remale    save    499
wting    25    male    mobile    399
xlei    25    male    bank    199
zll    25    remale    bank    299
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebDataList2.aspx.vb" Inherits="WebApplication1.WebDataList2"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    
<HEAD>
        
<title>WebDataList2</title>
        
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
        
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
        
<meta content="JavaScript" name="vs_defaultClientScript">
        
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    
</HEAD>
    
<body MS_POSITIONING="GridLayout">
        
<form id="Form1" method="post" runat="server">
            
<FONT face="MS UI Gothic">
                
<asp:datalist id="DataList2" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 56px" runat="server"
                    Width
="552px">
                    
<SelectedItemTemplate>
                        
<asp:Button id="Button3" runat="server" Text="Cancel" CommandName="unselect"></asp:Button>
                    
</SelectedItemTemplate>
                    
<ItemTemplate>//这是初始状态,首先datalist与数据库绑定,然后以下是将初始状态控件与数据库绑定后的显示,一般用来操作text或者label链接等关于文本的绑定
                        
<asp:Label id=Label1 runat="server" Width="96px" Text='<%# DataBinder.Eval(Container, "DataItem.name") %>'>name</asp:Label>
                        <asp:Label id=Label2 runat="server" Width="64px" Text='<%# DataBinder.Eval(Container, "DataItem.age") %>'>age</asp:Label>
                        <asp:Label id=Label3 runat="server" Width="72px" Text='<%# DataBinder.Eval(Container, "DataItem.sex") %>'>sex</asp:Label>
                        <asp:Label id=Label4 runat="server" Width="80px" Text='<%# DataBinder.Eval(Container, "DataItem.part") %>'>part</asp:Label>
                        <asp:Label id=Label5 runat="server" Width="152px" Text='<%# DataBinder.Eval(Container, "DataItem.salary") %>'>salary</asp:Label>
                        <asp:Button id="Button1" runat="server" Text="Select" CommandName="select"></asp:Button>
                        
<asp:Button id="Button2" runat="server" Text="Edit" CommandName="edit"></asp:Button>
                    <
asp:CheckBox id="CheckBox1" runat="server"/asp:><CheckBox>
                       <asp:Button id="Button7" runat="server" Text="Delete" CommandName="delete"></asp:Button>
                       </ItemTemplate>

                    <EditItemTemplate>这是编辑状态,当我们点击编辑后布局以及控件与数据库绑定显示
                        
<asp:Label id=Label6 runat="server" Width="88px" Text='<%# DataBinder.Eval(Container, "DataItem.name") %>'>name</asp:Label>
                        <asp:Label id=Label7 runat="server" Width="72px" Text='<%# DataBinder.Eval(Container, "DataItem.age") %>'>age</asp:Label>
                        <asp:DropDownList id="DropDownList1" runat="server" Width="128px"></asp:DropDownList>
                        
<asp:TextBox id=TextBox1 runat="server" Width="176px" Text='<%# DataBinder.Eval(Container, "DataItem.salary") %>'>salary</asp:TextBox>
                        <asp:Button id="Button4" runat="server" Text="Cancel" CommandName="cancel"></asp:Button>
                        
<asp:Button id="Button5" runat="server" Text="Update" CommandName="update"></asp:Button>
                    
</EditItemTemplate>
                
</asp:datalist>
                   < asp:Button id="Button6" style="Z-INDEX: 102; LEFT: 48px; POSITION: absolute; TOP: 432px" runat="server" Text="Button"></asp:Button>
                 </FONT></form>
     
</body>
</HTML>

Imports System.Data
Imports System.Data.OleDb

Public Class WebDataList2
    
Inherits System.Web.UI.Page
    
Dim objConn As New OleDbConnection


Web フォーム デザイナで生成されたコード

    
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
If Not Me.IsPostBack Then
            
Call conn()
        
End If
    
End Sub


    
Public Sub conn()
  
        objConn.Open()
        
Dim objAdapter As New OleDbDataAdapter("SELECT * From worker order by name", objConn)
        
Dim ds As DataSet = New DataSet
        objAdapter.Fill(ds, 
"users")
        DataList2.DataSource 
= ds.Tables(0)
        DataList2.DataBind()
        objConn.Close()
    
End Sub


    
Private Sub DataList2_ItemCommand(ByVal source As ObjectByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList2.ItemCommand

//需要我们在初始,选择,编辑状态
中的按钮等控件分别设置CommandName,点击不同的按钮就会触发该事件,然后判断该按钮的CommandName从而进入相应的选择,编辑还是更新状态,需要在update按钮中CommandName=“update”才可进行update操作,见前台
If e.CommandName = "select" Then
            DataList2.SelectedIndex 
= e.Item.ItemIndex
//点击某行选择按钮,然后该行就会处于选择状态
            Call conn()
        
ElseIf e.CommandName = "unselect" Then
            DataList2.SelectedIndex 
= -1
            
Call conn()
        
ElseIf e.CommandName = "edit" Then
            DataList2.EditItemIndex 
= e.Item.ItemIndex  //点击某行编辑按钮,然后该行就会处于编辑状态
            
Call conn()
        
ElseIf e.CommandName = "cancel" Then
//取消编辑选择操作
            DataList2.EditItemIndex 
= -1
            
Call conn()
        
End If

    
End Sub


    
Private Sub DataList2_ItemDataBound(ByVal sender As ObjectByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList2.ItemDataBound
//当datalist与数据库绑定,就会触发该事件,然后逐行的判断e.Item.ItemType状态第一次绑定时,判断的顺序第一行状态为ListItemType.Item 第二行为ListItemType.AlternatingItem...如果我们点击了第n行选择,第n+1行为编辑,这时与数据库绑定后触发该事件顺序为当 n行时状态为ListItemType.SelectedItem,n+1行为ListItemType.EditItem ,其它和初始状态一样,注意的就是逐行的判断然后绑定数据

Dim objAdapter As New OleDbDataAdapter("SELECT * From worker order by name  ", objConn)
        
Dim ds As DataSet = New DataSet
        objAdapter.Fill(ds, 
"users")
        
If e.Item.ItemType = ListItemType.EditItem Then            '
            If objConn.State = ConnectionState.Open Then
                objConn.Close()
            
End If
            objConn.Open()
            
Dim SelectDropDownList As DropDownList
            SelectDropDownList 
= CType(e.Item.FindControl("DropDownList1"), DropDownList)
            SelectDropDownList.DataSource 
= ds.Tables(0)
            SelectDropDownList.DataTextField 
= "part"
            
Dim str As String = ds.Tables(0).Rows(e.Item.ItemIndex)(3)//通过读取数据库里的数据来判断
            SelectDropDownList.DataBind()
            SelectDropDownList.SelectedIndex 
= SelectDropDownList.Items.IndexOf(SelectDropDownList.Items.FindByText(str))

        
End If
    
End Sub


    
Private Sub DataList2_UpdateCommand(ByVal source As ObjectByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList2.UpdateCommand
        
Dim str As String
        
str = "update worker set part='" & CType(e.Item.FindControl("DropDownList1"), DropDownList).SelectedItem.Text & "' where name='" & CType(e.Item.FindControl("label6"), Label).Text & "'"
        
Dim objCmd As New OleDbCommand(str, objConn)
        objConn.Open()
        objCmd.ExecuteNonQuery()
        DataList2.EditItemIndex 
= -1
        objConn.Close()
        
Call conn()
    
End Sub
End Class

 
    Private Sub DataList2_DeleteCommand(ByVal source As ObjectByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList2.DeleteCommand
        
Dim str As String
        
Dim CheckBoxValue As CheckBox
        CheckBoxValue 
= CType(e.Item.FindControl("CheckBox1"), CheckBox)
        
If CheckBoxValue.Checked = True Then
            
str = "delete from  worker where name='" & CType(e.Item.FindControl("label1"), Label).Text & "'"
            
Dim objCmd As New OleDbCommand(str, objConn)
            objConn.Open()
            objCmd.ExecuteNonQuery()
            DataList2.EditItemIndex 
= -1
            objConn.Close()
            
Call conn()
        
End If
    
End Sub


    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        
Dim MyItem As DataListItem    //在外部遍历ditalist
        
For Each MyItem In DataList2.Items
            
Dim CheckBoxValue As CheckBox
            
Dim LabelValue As Label
            CheckBoxValue 
= CType(MyItem.FindControl("CheckBox1"), CheckBox)
            LabelValue 
= CType(MyItem.FindControl("Label1"), Label)
            
If CheckBoxValue.Checked = True Then
                Response.Write(MyItem.ItemIndex 
& "&nbsp" & LabelValue.Text & "<br>")
            
End If
        
Next

        
'Dim i As Integer
        'For i = 0 To DataList2.Items.Count - 1
        'Dim ccc As CheckBox
        'ccc = CType(MyItem.FindControl("CheckBox1"), CheckBox)
        'Response.Write(i & "<br>")
        'Next
    End Sub
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:206530次
    • 积分:2710
    • 等级:
    • 排名:第13966名
    • 原创:59篇
    • 转载:86篇
    • 译文:0篇
    • 评论:80条
    最新评论