FineUI/FineUI.Examples/grid/grid_editor_cell_updatecellvalue.aspx
三生石上 79ad9e6bc2 v4.2.3
2016-01-10 01:19:30 -05:00

119 lines
5.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="grid_editor_cell_updatecellvalue.aspx.cs"
Inherits="FineUI.Examples.grid.grid_editor_cell_updatecellvalue" %>
<!DOCTYPE html>
<html>
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" />
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="true" Title="表格(双击编辑)" EnableCollapse="true" Width="850px"
runat="server" DataKeyNames="Id,Name" AllowCellEditing="true" ClicksToEdit="2" OnPreDataBound="Grid1_PreDataBound"
DataIDField="Id">
<Toolbars>
<f:Toolbar ID="Toolbar1" runat="server">
<Items>
<f:Button ID="btnNew" Text="新增数据" Icon="Add" EnablePostBack="false" runat="server">
</f:Button>
<f:Button ID="btnDelete" Text="删除选中行" Icon="Delete" EnablePostBack="false" runat="server">
</f:Button>
<f:ToolbarFill runat="server">
</f:ToolbarFill>
<f:Button ID="btnReset" Text="重置表格数据" EnablePostBack="false" runat="server">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="Number" Width="60px">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="Name" DataField="Name" FieldType="String"
HeaderText="姓名">
<Editor>
<f:TextBox ID="tbxEditorName" runat="server">
</f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Gender" DataField="Gender" FieldType="Int"
RendererFunction="renderGender" HeaderText="性别">
<Editor>
<f:DropDownList Required="true" runat="server">
<f:ListItem Text="男" Value="1" />
<f:ListItem Text="女" Value="0" />
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Major" DataField="Major" FieldType="String"
ExpandUnusedSpace="true" HeaderText="所学专业">
<Editor>
<f:TextBox ID="tbxEditorMajor" Required="true" runat="server">
</f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="ChineseScore" DataField="ChineseScore" FieldType="Int"
HeaderText="语文成绩">
<Editor>
<f:NumberBox ID="TextBox1" NoDecimal="true" NoNegative="true" Required="true" runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="MathScore" DataField="MathScore" FieldType="Int"
HeaderText="数学成绩">
<Editor>
<f:NumberBox ID="NumberBox1" NoDecimal="true" NoNegative="true" Required="true" runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="TotalScore" DataField="TotalScore" FieldType="Int"
HeaderText="总成绩">
<Editor>
<f:NumberBox ID="NumberBox2" NoDecimal="true" NoNegative="true" Required="true" runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:LinkButtonField ColumnID="Delete" Width="80px" EnablePostBack="false"
Icon="Delete" />
</Columns>
<Listeners>
<f:Listener Event="edit" Handler="onGridAfterEdit" />
</Listeners>
</f:Grid>
<br />
<f:Button ID="Button2" runat="server" Text="保存数据" OnClick="Button2_Click">
</f:Button>
<br />
<br />
<f:Label ID="labResult" EncodeText="false" runat="server">
</f:Label>
<br />
注:编辑[语文成绩]或者[数学成绩]时会同时更新[总成绩]。
</form>
<script>
function renderGender(value) {
return value == 1 ? '男' : '女';
}
// 注意专业版中改事件名为afteredit开源版中为edit
function onGridAfterEdit(editor, params) {
var me = this, columnId = params.column.id, rowId = params.record.getId();
if (columnId === 'ChineseScore' || columnId === 'MathScore') {
var chineseScore = me.f_getCellValue(rowId, 'ChineseScore');
var mathScore = me.f_getCellValue(rowId, 'MathScore');
me.f_updateCellValue(rowId, 'TotalScore', chineseScore + mathScore);
}
}
</script>
</body>
</html>