一、aspxmenu和aspxgridview组合
客户端:
function MenuItemClick(s, e) {
//通过e.item.name来区别由Menu的哪一项来触发
switch (e.item.name) {
case "new":
//新增操作
grid.AddNewRow();
break;
case "edit":
var index = grid.GetFocusedRowIndex();
if (index != -1) {
grid.StartEditRow(index);
} else {
alert('请选择要编辑的记录!');
}
//编辑操作
break;
case "delete":
var key = grid.GetRowKey(grid.GetFocusedRowIndex());
if (key != null && key != "") {
if (window.confirm('你确定要删除这条记录吗?')) {
grid.PerformCallback("delete|" + key);
}
}
//删除操作
break;
case "select":
var key = grid.GetRowKey(grid.GetFocusedRowIndex());
if (key != null && key != "") {
grid.PerformCallback("select|" + key);
}
//删除操作
break;
case "refresh":
grid.PerformCallback("refresh");
//刷新操作
break;
case "export":
grid.PerformCallback("export");
alert('PerformCallback:export');
//刷新操作
break;
case "selectall":
grid.SelectAllRowsOnPage("true");
alert('selectall');
//全部选中当前页所有行
break;
case "selectallno":
grid.SelectAllRowsOnPage("false");
alert('selectallno');
//全部选中当前页所有行
break;
}
}
function gridrowselect(s, e) {
var key = grid.GetRowKey(grid.GetFocusedRowIndex());
if (key != null && key != "") {
grid.PerformCallback("select|" + key);
}
}
function EndCallback(s, e) {
if (s.cp_msg) {
alert(s.cp_msg);
s.cp_msg = null;
}
}
/*aspxtreeview ajax */
function trvofficeClick(s, e) {
var filter = e.node, text;
if (e.node.text=="分公司" || e.node.name=="root" || !e.node.parent){
filter="%";}
grid.ApplyFilter("科室 like '"+filter+"'");
}
服务端:
Private Sub ASPxGridView1_CustomDataCallback(sender As Object, e As ASPxGridViewCustomDataCallbackEventArgs) Handles ASPxGridView1.CustomDataCallback
'可用于前后台的数据传输和回调
'调用客户端performCallBack方法时触发
Dim grid As ASPxGridView
grid = DirectCast(sender, ASPxGridView)
If e.Parameters.Length <= 0 Then Return
'分割符号,取决于前台performCallBack方法时触发时格式如
'前台代码 grid.performcallback('edit|2')
'前台代码 grid.performcallback('add')
Dim strParames() As String = e.Parameters.ToString.Split("|")
' Dev控件约定,此处添加JSProperties的key,只能以 cp 为前缀。
Select Case strParames(0).ToLower
Case "delete"
Dim id As String = strParames(1) '获取id
Case "search"
Dim keys As String = e.Parameters(1)
grid.Selection.UnselectAll()
For i As Integer = 0 To grid.VisibleRowCount - 1
If grid.GetRowValues(i, "Country") IsNot Nothing Then
If (grid.GetRowValues(i, "Country").ToString() = keys) Then
grid.Selection.SelectRow(i)
End If
End If
Next
Case "addnew"
grid.AddNewRow()
Case "edit"
If e.Parameters.Length > 1 Then
grid.StartEdit(CInt(strParames(1)))
End If
Case "copy"
Case "filter"
Case "export"
Dim strdir As String
strdir = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
End Select
End Sub