关于Coolite从Excel中粘贴记录复制到WEB中实现方法
2009-12-18 16:31
603 查看
<script type="text/javascript">
<!--
function pasteData(opGrid)
{
//行分割
var opLineBreak = new RegExp("\\r\\n", "g");
//单元格分割
var opTab = new RegExp("\\t", "g");
//粘贴板数据
var opData = window.clipboardData.getData("text");
//行
var opRows = opData.split(opLineBreak);
var lpRowID;
var opRecord;
var lpRecordIndex;
//表格中结构
var opRecordType = opGrid.store.recordType;
for (var i = 0; i < opRows.length; i ++)
{
var opCells = opRows[i].split(opTab);
opRecord = new opRecordType();
opRecord.data = new Object();
for (var q = 0; q < opRecord.fields.length; q ++)
{
switch (opRecord.fields.items[q].type)
{
case "int":
opRecord.set(opRecord.fields.keys[q], parseInt(opCells[q]));
break;
case "float":
opRecord.set(opRecord.fields.keys[q], parseFloat(opCells[q]));
break;
case "date":
opRecord.set(opRecord.fields.keys[q], Date.parseDate(opCells[q], "Y-m-d"));
break;
default:
opRecord.set(opRecord.fields.keys[q], opCells[q]);
break;
}
}
opGrid.store.add(opRecord);
}
}
function renderDate(zpDateValue)
{
try
{
return Ext.util.Format.date(zpDateValue, "Y-m-d");
}
catch(e)
{
return "";
}
}
//-->
</script>
protected void btnSubmit_Click(object sender, AjaxEventArgs e)
{
string zpGridJSON = e.ExtraParams["Data"];
Dictionary<string, string>[] opGridData = JSON.Deserialize<Dictionary<string, string>[]>(zpGridJSON);
}
代码
<ext:Store ID="StoreCanHuiRen" runat="server">
<Reader>
<ext:JsonReader ReaderID="CanHuiRenID">
<Fields>
<ext:RecordField Name="Name" Type="String" />
<ext:RecordField Name="Cell" Type="String" />
<ext:RecordField Name="Sex" Type="String" />
<ext:RecordField Name="KeShiName" Type="String" />
<ext:RecordField Name="FullHospitalName" Type="String" />
<ext:RecordField Name="CityName" Type="String" />
<ext:RecordField Name="DutyName" Type="String" />
<ext:RecordField Name="ZhiChengName" Type="String" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
<ext:GridPanel
runat="server"
ID="CanHuiRenGridPanel"
StoreID="StoreCanHuiRen"
Height="280" Header="false" Width="450" >
<TopBar>
<ext:Toolbar ID="Toolbar1" runat="server">
<Items>
<ext:ToolbarButton runat="server" ID="btnPaste" Icon="PastePlain" Text="粘贴">
<Listeners>
<Click Handler="pasteData(#{CanHuiRenGridPanel})" />
</Listeners>
</ext:ToolbarButton>
<ext:ToolbarButton runat="server" ID="btnDelete" Icon="Delete" Text="删除选中">
<Listeners>
<Click Handler="#{CanHuiRenGridPanel}.deleteSelected();if (!#{CanHuiRenGridPanel}.hasSelection()) {#{btnDelete}.disable();}" />
</Listeners>
</ext:ToolbarButton>
</Items>
</ext:Toolbar>
</TopBar>
<ColumnModel ID="ColumnModel1">
<Columns>
<ext:Column DataIndex="Name" Sortable="True" Header="姓名">
<Editor>
<ext:TextField runat="server" ID="TextField5"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="Cell" Sortable="True" Header="手机号">
<Editor>
<ext:TextField runat="server" ID="TextField"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="Sex" Sortable="True" Header="性别">
<Editor>
<ext:TextField ID="TextField1" runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="KeShiName" Sortable="True" Header="科室">
<Editor>
<ext:TextField ID="TextField7" runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="FullHospitalName" Sortable="True" Header="单位">
<Editor>
<ext:TextField ID="TextField2" runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="CityName" Sortable="True" Header="归属地" >
<Editor>
<ext:TextField ID="TextField3" runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="DutyName" Sortable="True" Header="职务">
<Editor>
<ext:TextField ID="TextField4" runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="ZhiChengName" Sortable="True" Header="职称">
<Editor>
<ext:TextField ID="TextField6" runat="server"></ext:TextField>
</Editor>
</ext:Column>
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" SingleSelect="false" runat="server">
<Listeners>
<RowSelect Handler="#{btnDelete}.enable();" />
<RowDeselect Handler="if (!#{CanHuiRenGridPanel}.hasSelection()) {#{btnDelete}.disable();}" />
</Listeners>
</ext:RowSelectionModel>
</SelectionModel>
</ext:GridPanel>
<Buttons>
<ext:Button ID="SaveButton" runat="server" Text="保存" Icon="Disk">
<AjaxEvents>
<Click OnEvent="btnSubmit_Click">
<ExtraParams>
<ext:Parameter Name="Data" Value="Ext.encode(#{CanHuiRenGridPanel}.getRowsValues(false))" Mode="Raw" />
</ExtraParams>
<EventMask Msg="保存中..." ShowMask="true" />
</Click>
</AjaxEvents>
</ext:Button>
<ext:Button ID="CancelButton" runat="server" Text="关闭窗体" Icon="Cancel">
<AjaxEvents>
<Click OnEvent="btnClose_Click">
</Click>
</AjaxEvents>
<Listeners>
<Click Handler="#{AddCanHuiRensWindow}.hide(null);" />
</Listeners>
</ext:Button>
</Buttons>
<!--
function pasteData(opGrid)
{
//行分割
var opLineBreak = new RegExp("\\r\\n", "g");
//单元格分割
var opTab = new RegExp("\\t", "g");
//粘贴板数据
var opData = window.clipboardData.getData("text");
//行
var opRows = opData.split(opLineBreak);
var lpRowID;
var opRecord;
var lpRecordIndex;
//表格中结构
var opRecordType = opGrid.store.recordType;
for (var i = 0; i < opRows.length; i ++)
{
var opCells = opRows[i].split(opTab);
opRecord = new opRecordType();
opRecord.data = new Object();
for (var q = 0; q < opRecord.fields.length; q ++)
{
switch (opRecord.fields.items[q].type)
{
case "int":
opRecord.set(opRecord.fields.keys[q], parseInt(opCells[q]));
break;
case "float":
opRecord.set(opRecord.fields.keys[q], parseFloat(opCells[q]));
break;
case "date":
opRecord.set(opRecord.fields.keys[q], Date.parseDate(opCells[q], "Y-m-d"));
break;
default:
opRecord.set(opRecord.fields.keys[q], opCells[q]);
break;
}
}
opGrid.store.add(opRecord);
}
}
function renderDate(zpDateValue)
{
try
{
return Ext.util.Format.date(zpDateValue, "Y-m-d");
}
catch(e)
{
return "";
}
}
//-->
</script>
protected void btnSubmit_Click(object sender, AjaxEventArgs e)
{
string zpGridJSON = e.ExtraParams["Data"];
Dictionary<string, string>[] opGridData = JSON.Deserialize<Dictionary<string, string>[]>(zpGridJSON);
}
代码
<ext:Store ID="StoreCanHuiRen" runat="server">
<Reader>
<ext:JsonReader ReaderID="CanHuiRenID">
<Fields>
<ext:RecordField Name="Name" Type="String" />
<ext:RecordField Name="Cell" Type="String" />
<ext:RecordField Name="Sex" Type="String" />
<ext:RecordField Name="KeShiName" Type="String" />
<ext:RecordField Name="FullHospitalName" Type="String" />
<ext:RecordField Name="CityName" Type="String" />
<ext:RecordField Name="DutyName" Type="String" />
<ext:RecordField Name="ZhiChengName" Type="String" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
<ext:GridPanel
runat="server"
ID="CanHuiRenGridPanel"
StoreID="StoreCanHuiRen"
Height="280" Header="false" Width="450" >
<TopBar>
<ext:Toolbar ID="Toolbar1" runat="server">
<Items>
<ext:ToolbarButton runat="server" ID="btnPaste" Icon="PastePlain" Text="粘贴">
<Listeners>
<Click Handler="pasteData(#{CanHuiRenGridPanel})" />
</Listeners>
</ext:ToolbarButton>
<ext:ToolbarButton runat="server" ID="btnDelete" Icon="Delete" Text="删除选中">
<Listeners>
<Click Handler="#{CanHuiRenGridPanel}.deleteSelected();if (!#{CanHuiRenGridPanel}.hasSelection()) {#{btnDelete}.disable();}" />
</Listeners>
</ext:ToolbarButton>
</Items>
</ext:Toolbar>
</TopBar>
<ColumnModel ID="ColumnModel1">
<Columns>
<ext:Column DataIndex="Name" Sortable="True" Header="姓名">
<Editor>
<ext:TextField runat="server" ID="TextField5"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="Cell" Sortable="True" Header="手机号">
<Editor>
<ext:TextField runat="server" ID="TextField"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="Sex" Sortable="True" Header="性别">
<Editor>
<ext:TextField ID="TextField1" runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="KeShiName" Sortable="True" Header="科室">
<Editor>
<ext:TextField ID="TextField7" runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="FullHospitalName" Sortable="True" Header="单位">
<Editor>
<ext:TextField ID="TextField2" runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="CityName" Sortable="True" Header="归属地" >
<Editor>
<ext:TextField ID="TextField3" runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="DutyName" Sortable="True" Header="职务">
<Editor>
<ext:TextField ID="TextField4" runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="ZhiChengName" Sortable="True" Header="职称">
<Editor>
<ext:TextField ID="TextField6" runat="server"></ext:TextField>
</Editor>
</ext:Column>
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" SingleSelect="false" runat="server">
<Listeners>
<RowSelect Handler="#{btnDelete}.enable();" />
<RowDeselect Handler="if (!#{CanHuiRenGridPanel}.hasSelection()) {#{btnDelete}.disable();}" />
</Listeners>
</ext:RowSelectionModel>
</SelectionModel>
</ext:GridPanel>
<Buttons>
<ext:Button ID="SaveButton" runat="server" Text="保存" Icon="Disk">
<AjaxEvents>
<Click OnEvent="btnSubmit_Click">
<ExtraParams>
<ext:Parameter Name="Data" Value="Ext.encode(#{CanHuiRenGridPanel}.getRowsValues(false))" Mode="Raw" />
</ExtraParams>
<EventMask Msg="保存中..." ShowMask="true" />
</Click>
</AjaxEvents>
</ext:Button>
<ext:Button ID="CancelButton" runat="server" Text="关闭窗体" Icon="Cancel">
<AjaxEvents>
<Click OnEvent="btnClose_Click">
</Click>
</AjaxEvents>
<Listeners>
<Click Handler="#{AddCanHuiRensWindow}.hide(null);" />
</Listeners>
</ext:Button>
</Buttons>
相关文章推荐
- 【JavaScript】实现将从Excel中复制的数据粘贴到WEB页面Grid中
- 【JavaScript】实现将从Excel中复制的数据粘贴到WEB页面Grid中
- 关于网页实现像excel复制粘贴功能的问题
- 数据窗口实现与excel双向复制和粘贴
- CMD里或登陆远程linux服务器时命令行下复制和粘贴实现方法
- Ewebeditor 不能粘贴或复制的解决方法
- web页面上 实现 “点击复制”, 只需要一行代码, 记录一下这个npm包
- python使用xlrd实现检索excel中某列含有指定字符串记录的方法
- 复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
- JAVA 关于web页面下载导出Excel通用方法
- 关于安卓webview的loadUrl和reload方法缓存策略的区别发现记录
- 关于使用SAP的BSP在后台导出excel(xml格式),并在web上弹出的方法
- 实现各种文件的下载方法:用于 WEB上的报表导出(jxl 实现Excel报表下载),核心思想就是将文件的输出流传给HttpResponseOutputStream 里就成了。
- 关于简单的SSI实现shtml的的方法记录
- 关于修改Web配置文件的方法记录
- 关于Excel Networkdays方法的实现
- 实现 Swing 的 JTables 和 Excel 间的复制和粘贴功能
- 复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
- Winform-DataGridView 实现如Excel的粘贴复制
- 关于web中下拉列表的几种实现方法