(VB.net) 利用DataGrid实现查找, 编辑, 修改, 更新, 删除的功能。
2007-03-19 10:55
946 查看
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Public Class WebTest
Inherits System.Web.UI.Page
Protected WithEvents ddlSalesArea As System.Web.UI.WebControls.DropDownList
Protected WithEvents dgSFDetail As System.Web.UI.WebControls.DataGrid
Protected WithEvents dgsave As System.Web.UI.WebControls.DataGrid
Protected WithEvents Btnsearch As System.Web.UI.WebControls.Button
Dim myConn As SqlConnection
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码 dgsave.EditItemIndex = 2 可编辑的行号
myConn = New SqlConnection(ConfigurationSettings.AppSettings("SqlServerConnectionString"))
End Sub
'查询数据的按钮
Private Sub Btnsearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnsearch.Click
BindData()
BindData2()
dgsave_BindDataGrid()
End Sub
'执行不返回结果集的sql 语句
Private Sub ExecuteSql(ByVal strsql)
Try
Dim myConn As SqlConnection
Dim MyCommand As SqlCommand
myConn = New SqlConnection(ConfigurationSettings.AppSettings("SqlServerConnectionString")) 'web.config中读取
myConn.Open()
MyCommand = New SqlCommand(strsql, myConn)
MyCommand.ExecuteNonQuery()
myConn.Close()
Catch ex As Exception
Response.Write("<script language = 'javascript'>alert('" + ex.Message + "');</script>")
Finally
myConn.Close()
End Try
End Sub
'绑定数据, 重新显示资料
Private Sub BindData()
Dim ls_dept As String
Dim ls_sql As String
Dim li_count As Integer
Dim i As Integer
Dim Dset1 As DataSet
Dim MyCommand As SqlDataAdapter
ls_dept = ddlSalesArea.SelectedValue.ToString()
ls_sql = ls_sql & "SELECT * FROM PUB_TELPHONE WHERE DEPT = '" & ls_dept & "' "
MyCommand = New SqlDataAdapter(ls_sql, myConn)
Dset1 = New DataSet
MyCommand.Fill(Dset1, "phone")
dgSFDetail.DataSource = Dset1.Tables("phone").DefaultView
dgSFDetail.DataBind()
li_count = dgSFDetail.Items.Count
For i = 1 To li_count
If (i Mod 2 = 0) Then
'dgSFDetail.SelectedItemStyle.BackColor = ""
Else
End If
Next
End Sub
'dgsave的绑定
Private Sub BindData2()
Dim ls_dept As String
Dim ls_sql As String
Dim Dset2 As DataSet
Dim MyCommand As SqlDataAdapter
'ls_dept = ddlSalesArea.SelectedValue.ToString()
ls_dept = ""
ls_sql = ls_sql & "SELECT * FROM PUB_TELPHONE WHERE DEPT = '" & ls_dept & "' "
MyCommand = New SqlDataAdapter(ls_sql, myConn)
Dset2 = New DataSet
MyCommand.Fill(Dset2, "phone")
dgsave.DataSource = Dset2.Tables("phone").DefaultView
dgsave.DataBind()
End Sub
'绑定DataGrid
Private Sub dgsave_BindDataGrid()
Dim ls_dept As String
Dim ls_sql As String
Dim Dset2 As DataSet
Dim MyCommand As SqlDataAdapter
ls_dept = ""
ls_sql = ls_sql & "SELECT * FROM PUB_TELPHONE WHERE DEPT = '" & ls_dept & "' "
MyCommand = New SqlDataAdapter(ls_sql, myConn)
Dset2 = New DataSet
MyCommand.Fill(Dset2, "phone")
dgsave.DataSource = Dset2.Tables("phone").DefaultView
Dim phoneTable As DataTable = Dset2.Tables("phone")
Dim phoneView As DataView = phoneTable.DefaultView
phoneView.AllowDelete = False
Dim AddRow As DataRowView = phoneView.AddNew()
AddRow("user_name") = "大山"
AddRow("user_account") = ""
AddRow("dept") = ""
AddRow("telphone") = ""
AddRow("fax") = ""
AddRow("mobile") = ""
dgsave.EditItemIndex = 0
dgsave.DataBind()
End Sub
'点击编辑后更新的代码
Private Sub dgsave_UpdateCommand(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgsave.UpdateCommand
Dim ls_username, ls_account, ls_mobile, ls_telphone, ls_fax, ls_dept As String
Dim StrSql As String
Dim tb As TextBox
tb = CType(e.Item.Cells(0).Controls(0), TextBox)
ls_username = tb.Text
tb = CType(e.Item.Cells(1).Controls(0), TextBox)
ls_account = tb.Text
tb = CType(e.Item.Cells(2).Controls(0), TextBox)
ls_dept = tb.Text
tb = CType(e.Item.Cells(3).Controls(0), TextBox)
ls_fax = tb.Text
tb = CType(e.Item.Cells(4).Controls(0), TextBox)
ls_telphone = tb.Text
tb = CType(e.Item.Cells(5).Controls(0), TextBox)
ls_mobile = tb.Text
'StrSql = StrSql & "update pub_telphone set user_name = '" & ls_username & "', user_account = '" & ls_account & "' , dept = '" & ls_dept & "', "
'StrSql = StrSql & " mobile = '" & ls_mobile & "', telphone = '" & ls_telphone & "' , fax = '" & ls_fax & "'"
'StrSql = StrSql & " where user_name = '" & ls_username & "'"
'插入的Sql语句
StrSql = StrSql & "Insert into pub_telphone (user_name , user_account , dept , telphone , fax , mobile ) values ('" & ls_username & "','" & ls_account & "', '" & ls_dept & "', '" & ls_fax & "', '" & ls_telphone & "' , '" & ls_mobile & "' )"
ExecuteSql(StrSql)
dgsave_BindDataGrid()
'将项切换出编辑模式dgsave.EditItemIndex = -1
End Sub
'编辑按钮的代码
Private Sub dgsave_EditCommand(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgsave.EditCommand
dgsave.EditItemIndex = e.Item.ItemIndex
BindData2()
End Sub
'页面改变时执行的代码
Private Sub dgsave_PageIndexChanged(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles dgsave.PageIndexChanged
dgsave.CurrentPageIndex = e.NewPageIndex
BindData2()
End Sub
'删除的代码
Private Sub dgsave_DeleteCommand(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgsave.DeleteCommand
If (dgsave.Items.Count = 1) Then
If (dgsave.CurrentPageIndex <> 0) Then
dgsave.CurrentPageIndex = dgsave.CurrentPageIndex - 1
End If
End If
Dim strsql = "delete from pub_telphone where user_name = ' " & e.Item.Cells(0).Text & " ' "
ExecuteSql(strsql)
BindData2()
End Sub
'取消
Private Sub dgsave_CancelCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgsave.CancelCommand
dgsave.EditItemIndex = -1
BindData2()
End Sub
Private Sub InitializeComponent()
End Sub
'更新的代码
Private Sub dgSFDetail_UpdateCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgSFDetail.UpdateCommand
Dim ls_username, ls_account, ls_mobile, ls_telphone, ls_fax, ls_dept As String
Dim tb As TextBox
Dim StrSql As String
tb = CType(e.Item.Cells(0).Controls(0), TextBox)
ls_username = tb.Text
tb = CType(e.Item.Cells(1).Controls(0), TextBox)
ls_account = tb.Text
tb = CType(e.Item.Cells(2).Controls(0), TextBox)
ls_dept = tb.Text
tb = CType(e.Item.Cells(3).Controls(0), TextBox)
ls_fax = tb.Text
tb = CType(e.Item.Cells(4).Controls(0), TextBox)
ls_telphone = tb.Text
tb = CType(e.Item.Cells(5).Controls(0), TextBox)
ls_mobile = tb.Text
StrSql = StrSql & "update pub_telphone set user_name = '" & ls_username & "', user_account = '" & ls_account & "' , dept = '" & ls_dept & "', "
StrSql = StrSql & " mobile = '" & ls_mobile & "', telphone = '" & ls_telphone & "' , fax = '" & ls_fax & "'"
StrSql = StrSql & " where user_name = '" & ls_username & "'"
ExecuteSql(StrSql)
dgSFDetail.EditItemIndex = -1
BindData()
'将项切换出编辑模式dgsave.EditItemIndex = -1
End Sub
'删除按钮的代码
Private Sub dgSFDetail_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgSFDetail.DeleteCommand
' Add code to delete data from data source.
Dim StrSql As String
If (dgSFDetail.Items.Count = 1) Then
If (dgSFDetail.CurrentPageIndex <> 0) Then
dgSFDetail.CurrentPageIndex = dgSFDetail.CurrentPageIndex - 1
End If
End If
'Dim myDeleteButton As Button
'myDeleteButton = CType(e.Item.FindControl("Delete"), Button)
'myDeleteButton.Text = "删除此行"
'myDeleteButton.Attributes.Add("onclick", "return confirm('您真的要删除第 " + e.Item.ItemIndex.ToString() + " 行吗?');")
StrSql = StrSql & "delete from pub_telphone where user_name = '" & e.Item.Cells(0).Text & " ' "
ExecuteSql(StrSql)
BindData()
End Sub
'编辑的代码
Private Sub dgSFDetail_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgSFDetail.EditCommand
dgSFDetail.EditItemIndex = e.Item.ItemIndex
BindData()
End Sub
'取消的代码
Private Sub dgSFDetail_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgSFDetail.CancelCommand
dgSFDetail.EditItemIndex = -1
BindData()
End Sub
'保存代码
'Private Sub dgSFDetail_ItemCreated(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs)
' e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor;this.style.cursor='default';")
' e.Item.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#FFFFCC';this.style.cursor='hand';")
'End Sub
'Private Sub dgSFDetail_ItemDataBound(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)
' e.Item.BackColor = Color.Blue
'End Sub
End Class
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Public Class WebTest
Inherits System.Web.UI.Page
Protected WithEvents ddlSalesArea As System.Web.UI.WebControls.DropDownList
Protected WithEvents dgSFDetail As System.Web.UI.WebControls.DataGrid
Protected WithEvents dgsave As System.Web.UI.WebControls.DataGrid
Protected WithEvents Btnsearch As System.Web.UI.WebControls.Button
Dim myConn As SqlConnection
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码 dgsave.EditItemIndex = 2 可编辑的行号
myConn = New SqlConnection(ConfigurationSettings.AppSettings("SqlServerConnectionString"))
End Sub
'查询数据的按钮
Private Sub Btnsearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnsearch.Click
BindData()
BindData2()
dgsave_BindDataGrid()
End Sub
'执行不返回结果集的sql 语句
Private Sub ExecuteSql(ByVal strsql)
Try
Dim myConn As SqlConnection
Dim MyCommand As SqlCommand
myConn = New SqlConnection(ConfigurationSettings.AppSettings("SqlServerConnectionString")) 'web.config中读取
myConn.Open()
MyCommand = New SqlCommand(strsql, myConn)
MyCommand.ExecuteNonQuery()
myConn.Close()
Catch ex As Exception
Response.Write("<script language = 'javascript'>alert('" + ex.Message + "');</script>")
Finally
myConn.Close()
End Try
End Sub
'绑定数据, 重新显示资料
Private Sub BindData()
Dim ls_dept As String
Dim ls_sql As String
Dim li_count As Integer
Dim i As Integer
Dim Dset1 As DataSet
Dim MyCommand As SqlDataAdapter
ls_dept = ddlSalesArea.SelectedValue.ToString()
ls_sql = ls_sql & "SELECT * FROM PUB_TELPHONE WHERE DEPT = '" & ls_dept & "' "
MyCommand = New SqlDataAdapter(ls_sql, myConn)
Dset1 = New DataSet
MyCommand.Fill(Dset1, "phone")
dgSFDetail.DataSource = Dset1.Tables("phone").DefaultView
dgSFDetail.DataBind()
li_count = dgSFDetail.Items.Count
For i = 1 To li_count
If (i Mod 2 = 0) Then
'dgSFDetail.SelectedItemStyle.BackColor = ""
Else
End If
Next
End Sub
'dgsave的绑定
Private Sub BindData2()
Dim ls_dept As String
Dim ls_sql As String
Dim Dset2 As DataSet
Dim MyCommand As SqlDataAdapter
'ls_dept = ddlSalesArea.SelectedValue.ToString()
ls_dept = ""
ls_sql = ls_sql & "SELECT * FROM PUB_TELPHONE WHERE DEPT = '" & ls_dept & "' "
MyCommand = New SqlDataAdapter(ls_sql, myConn)
Dset2 = New DataSet
MyCommand.Fill(Dset2, "phone")
dgsave.DataSource = Dset2.Tables("phone").DefaultView
dgsave.DataBind()
End Sub
'绑定DataGrid
Private Sub dgsave_BindDataGrid()
Dim ls_dept As String
Dim ls_sql As String
Dim Dset2 As DataSet
Dim MyCommand As SqlDataAdapter
ls_dept = ""
ls_sql = ls_sql & "SELECT * FROM PUB_TELPHONE WHERE DEPT = '" & ls_dept & "' "
MyCommand = New SqlDataAdapter(ls_sql, myConn)
Dset2 = New DataSet
MyCommand.Fill(Dset2, "phone")
dgsave.DataSource = Dset2.Tables("phone").DefaultView
Dim phoneTable As DataTable = Dset2.Tables("phone")
Dim phoneView As DataView = phoneTable.DefaultView
phoneView.AllowDelete = False
Dim AddRow As DataRowView = phoneView.AddNew()
AddRow("user_name") = "大山"
AddRow("user_account") = ""
AddRow("dept") = ""
AddRow("telphone") = ""
AddRow("fax") = ""
AddRow("mobile") = ""
dgsave.EditItemIndex = 0
dgsave.DataBind()
End Sub
'点击编辑后更新的代码
Private Sub dgsave_UpdateCommand(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgsave.UpdateCommand
Dim ls_username, ls_account, ls_mobile, ls_telphone, ls_fax, ls_dept As String
Dim StrSql As String
Dim tb As TextBox
tb = CType(e.Item.Cells(0).Controls(0), TextBox)
ls_username = tb.Text
tb = CType(e.Item.Cells(1).Controls(0), TextBox)
ls_account = tb.Text
tb = CType(e.Item.Cells(2).Controls(0), TextBox)
ls_dept = tb.Text
tb = CType(e.Item.Cells(3).Controls(0), TextBox)
ls_fax = tb.Text
tb = CType(e.Item.Cells(4).Controls(0), TextBox)
ls_telphone = tb.Text
tb = CType(e.Item.Cells(5).Controls(0), TextBox)
ls_mobile = tb.Text
'StrSql = StrSql & "update pub_telphone set user_name = '" & ls_username & "', user_account = '" & ls_account & "' , dept = '" & ls_dept & "', "
'StrSql = StrSql & " mobile = '" & ls_mobile & "', telphone = '" & ls_telphone & "' , fax = '" & ls_fax & "'"
'StrSql = StrSql & " where user_name = '" & ls_username & "'"
'插入的Sql语句
StrSql = StrSql & "Insert into pub_telphone (user_name , user_account , dept , telphone , fax , mobile ) values ('" & ls_username & "','" & ls_account & "', '" & ls_dept & "', '" & ls_fax & "', '" & ls_telphone & "' , '" & ls_mobile & "' )"
ExecuteSql(StrSql)
dgsave_BindDataGrid()
'将项切换出编辑模式dgsave.EditItemIndex = -1
End Sub
'编辑按钮的代码
Private Sub dgsave_EditCommand(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgsave.EditCommand
dgsave.EditItemIndex = e.Item.ItemIndex
BindData2()
End Sub
'页面改变时执行的代码
Private Sub dgsave_PageIndexChanged(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles dgsave.PageIndexChanged
dgsave.CurrentPageIndex = e.NewPageIndex
BindData2()
End Sub
'删除的代码
Private Sub dgsave_DeleteCommand(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgsave.DeleteCommand
If (dgsave.Items.Count = 1) Then
If (dgsave.CurrentPageIndex <> 0) Then
dgsave.CurrentPageIndex = dgsave.CurrentPageIndex - 1
End If
End If
Dim strsql = "delete from pub_telphone where user_name = ' " & e.Item.Cells(0).Text & " ' "
ExecuteSql(strsql)
BindData2()
End Sub
'取消
Private Sub dgsave_CancelCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgsave.CancelCommand
dgsave.EditItemIndex = -1
BindData2()
End Sub
Private Sub InitializeComponent()
End Sub
'更新的代码
Private Sub dgSFDetail_UpdateCommand(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgSFDetail.UpdateCommand
Dim ls_username, ls_account, ls_mobile, ls_telphone, ls_fax, ls_dept As String
Dim tb As TextBox
Dim StrSql As String
tb = CType(e.Item.Cells(0).Controls(0), TextBox)
ls_username = tb.Text
tb = CType(e.Item.Cells(1).Controls(0), TextBox)
ls_account = tb.Text
tb = CType(e.Item.Cells(2).Controls(0), TextBox)
ls_dept = tb.Text
tb = CType(e.Item.Cells(3).Controls(0), TextBox)
ls_fax = tb.Text
tb = CType(e.Item.Cells(4).Controls(0), TextBox)
ls_telphone = tb.Text
tb = CType(e.Item.Cells(5).Controls(0), TextBox)
ls_mobile = tb.Text
StrSql = StrSql & "update pub_telphone set user_name = '" & ls_username & "', user_account = '" & ls_account & "' , dept = '" & ls_dept & "', "
StrSql = StrSql & " mobile = '" & ls_mobile & "', telphone = '" & ls_telphone & "' , fax = '" & ls_fax & "'"
StrSql = StrSql & " where user_name = '" & ls_username & "'"
ExecuteSql(StrSql)
dgSFDetail.EditItemIndex = -1
BindData()
'将项切换出编辑模式dgsave.EditItemIndex = -1
End Sub
'删除按钮的代码
Private Sub dgSFDetail_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgSFDetail.DeleteCommand
' Add code to delete data from data source.
Dim StrSql As String
If (dgSFDetail.Items.Count = 1) Then
If (dgSFDetail.CurrentPageIndex <> 0) Then
dgSFDetail.CurrentPageIndex = dgSFDetail.CurrentPageIndex - 1
End If
End If
'Dim myDeleteButton As Button
'myDeleteButton = CType(e.Item.FindControl("Delete"), Button)
'myDeleteButton.Text = "删除此行"
'myDeleteButton.Attributes.Add("onclick", "return confirm('您真的要删除第 " + e.Item.ItemIndex.ToString() + " 行吗?');")
StrSql = StrSql & "delete from pub_telphone where user_name = '" & e.Item.Cells(0).Text & " ' "
ExecuteSql(StrSql)
BindData()
End Sub
'编辑的代码
Private Sub dgSFDetail_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgSFDetail.EditCommand
dgSFDetail.EditItemIndex = e.Item.ItemIndex
BindData()
End Sub
'取消的代码
Private Sub dgSFDetail_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgSFDetail.CancelCommand
dgSFDetail.EditItemIndex = -1
BindData()
End Sub
'保存代码
'Private Sub dgSFDetail_ItemCreated(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs)
' e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor;this.style.cursor='default';")
' e.Item.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#FFFFCC';this.style.cursor='hand';")
'End Sub
'Private Sub dgSFDetail_ItemDataBound(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)
' e.Item.BackColor = Color.Blue
'End Sub
End Class
相关文章推荐
- [VB.NET]利用vb.net创建一个完全可编辑的DataGrid,从而实现操作Access数据库进行增,删,改的功能,前提是不用任何其他的Button
- 同学录--利用二叉树存储结构实现建立、查找、新增、修改、删除等功能
- vb 利用ADO.Net实现数据库的连接,修改,删除,插入操作
- C#中DataGrid分页,修改,更新,删除功能的实现
- ASP.NET中运用DataList控件来实现编辑、更新、删除、取消等功能
- vb.net 利用ADO实现数据库的删除、插入、修改操作(adodb)
- 利用DhtmlXtree实现展现,修改,添加,删除,移动功能一棵树上实现,iframe的单个滑动条显示,包含在iframe中树节点中文内容过长问题解决
- 利用DataGrid编辑、修改、删除记录
- 利用VB.NET Format函数实现四舍五入功能
- 利用DataGrid编辑、修改、删除记录---孟子E章
- 利用DataGrid编辑、修改、删除记录
- GridView实现 "插入" 编辑更新删除功能
- 在DataGrid中实现无刷新编辑列的代码(VB.NET 2003)
- Asp.net+Extjs实现对GridPanel分页、行内编辑、增加、删除、弹出新窗体增加、数据验证、编辑指定列、数据格式转换等功能
- 使用DataList实现 加入购物车,编辑,删除,更新,取消功能。
- GridView实现 "插入" 编辑更新删除功能
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页[转]
- 双向循环链表简单的插入、删除、修改以及查找功能的实现
- 使用Ext中的Grid,Form,Dialog来实现列表,创建,更新,删除,查找和分页功能