45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:如何添加、修改及删除UltraWebGrid?

如何添加、修改及删除UltraWebGrid?

2016-08-26 16:29:28 来源:www.45fan.com 【

如何添加、修改及删除UltraWebGrid?

经过几天奋战,终于搞定UltraWebGrid的添加、修改、删除,为避免各位仁兄少走弯路,特公告如下,请各位高手圈点:

Imports System.Data
Imports System.Data.SqlClient
Imports Infragistics.Shared
Imports Infragistics.WebUI
Public Class temp2
Inherits System.Web.UI.Page

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

If Page.IsPostBack = False Then

Me.sdatemp.Fill(dstemp1)
Me.UltraWebGrid1.DataBind()

End If

End Sub

Private Sub LoadUpdatableDataSet()

If dstemp1.t_file_name.Rows.Count <= 0 Then
' fill dataset with server data
sdatemp.Fill(dstemp1)
' add guid column for new rows
Dim colGUID As New DataColumn("GUID", GetType(String))
dstemp1.t_file_name.Columns.Add(colGUID)
End If

End Sub

Private Sub UltraWebGrid1_InitializeLayout(ByVal sender As System.Object, ByVal e As Infragistics.WebUI.UltraWebGrid.LayoutEventArgs) Handles UltraWebGrid1.InitializeLayout


e.Layout.Bands(0).DataKeyField = "id"

e.Layout.AllowAddNewDefault _
= Infragistics.WebUI.UltraWebGrid.AllowAddNew.Yes
e.Layout.AllowDeleteDefault _
= Infragistics.WebUI.UltraWebGrid.AllowDelete.Yes
e.Layout.AllowUpdateDefault _
= Infragistics.WebUI.UltraWebGrid.AllowUpdate.Yes
e.Layout.AddNewBox.Hidden = False

e.Layout.CellClickActionDefault = _
Infragistics.WebUI.UltraWebGrid.CellClickAction.Edit

With e.Layout.Bands(0)
.Columns.Add("GUID")
.Columns.FromKey("GUID").Hidden = True
End With


End Sub

Private Sub UltraWebGrid1_UpdateGrid(ByVal sender As Object, ByVal e As Infragistics.WebUI.UltraWebGrid.UpdateEventArgs) Handles UltraWebGrid1.UpdateGrid

Dim c_colNewCustomerDataRows As New Collection

LoadUpdatableDataSet()

' test to see if there new rows to add
If c_colNewCustomerDataRows.Count > 0 Then
Dim drCustomers As dstemp.t_file_nameRow
For Each drCustomers In c_colNewCustomerDataRows
dstemp1.t_file_name.Rows.Add(drCustomers)
Next
End If

' attempt to send updates to database
Try
sdatemp.Update(dstemp1.t_file_name)
Catch ex As Exception
'DisplayMessages(ex.Message.ToString)
End Try

' if new rows were added, then rebind
If c_colNewCustomerDataRows.Count > 0 Then
UltraWebGrid1.DataBind()
End If

End Sub

Private Sub UltraWebGrid1_UpdateRowBatch(ByVal sender As Object, ByVal e As Infragistics.WebUI.UltraWebGrid.RowEventArgs) Handles UltraWebGrid1.UpdateRowBatch

Dim dataKey As String = CStr(e.Row.DataKey)

Select Case e.Row.DataChanged

Case UltraWebGrid.DataChanged.Added

Dim newDataTableRow As DataRow = dstemp1.Tables(0).NewRow()
Try
Dim c As UltraWebGrid.UltraGridCell
For Each c In e.Row.Cells
If -1 <> dstemp1.Tables(0).Columns.IndexOf(c.Column.Key) Then
newDataTableRow(c.Column.Key) = c.Value
End If
Next c
dstemp1.Tables(0).Rows.Add(newDataTableRow)
Catch ex As Exception
Me.UltraWebGrid1.ClientResponse.ResponseStatus = Infragistics.WebUI.UltraWebGrid.XmlHTTPResponseStatus.Fail
Me.UltraWebGrid1.ClientResponse.StatusMessage = ex.Message
Me.UltraWebGrid1.ClientResponse.Tag = ex.Message
End Try

e.Row.DataKey = e.Row.Cells.FromKey("id").Value

Case UltraWebGrid.DataChanged.Modified

If Nothing <> dataKey Then

LoadUpdatableDataSet()

Dim dr As DataRow = dstemp1.Tables(0).Rows.Find(New Object() {dataKey})
If Not Nothing Is dr Then

Dim c As UltraWebGrid.UltraGridCell
For Each c In e.Row.Cells
If -1 <> dstemp1.Tables(0).Columns.IndexOf(c.Column.Key) Then
If Not dr(c.Column.Key).Equals(c.Value) Then
dr(c.Column.Key) = c.Value
End If
End If
Next c
End If
e.Row.DataKey = e.Row.Cells.FromKey("id").Value
End If

End Select

End Sub

Private Sub UltraWebGrid1_DeleteRowBatch(ByVal sender As Object, ByVal e As Infragistics.WebUI.UltraWebGrid.RowEventArgs) Handles UltraWebGrid1.DeleteRowBatch

Dim dataKey As String = CStr(e.Row.DataKey)
LoadUpdatableDataSet()

' in the case of deleted data, we used the DataKey value off of the row to locate the row in the datasource and remove it
If Nothing <> dataKey Then
' First we locate the row in the DataTable object with the corresponding key
Dim dr As DataRow = dstemp1.Tables(0).Rows.Find(New Object() {dataKey})
' if found, delete
If Not Nothing Is dr Then
dr.Delete()
End If
End If
End Sub

End Class


本文地址:http://www.45fan.com/a/question/67925.html
Tags: 修改 经过 UltraWebGrid
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部