文档库 最新最全的文档下载
当前位置:文档库 › spread 部分技巧

spread 部分技巧


1.怎样设置 Spread for https://www.wendangku.net/doc/cb15109793.html, 充满整个窗体




2.隐藏命令条(command bar)
我们需要在 web.config 文件中添加以下代码 fp_client 文件夹进行正确的加载:



3.检测查看页面的浏览器是 IE8、IE9 还是 Firefox。
window.onload = function() {
var spread = document.getElementById("FpSpread1");
if (document.all) {
//检测是否是 IE9
if (spread.addEventListener) {
//addEventListener事件监听器
spread.addEventListener("EditStopped", editStopped, false);
}
else
//如果是 IE 其它的版本
spread.onEditStopped = editStopped;
}
// 如果是 Firefox
else {
spread.addEventListener("EditStopped", editStopped, false);
}
}
使用 EditStoppted 事件在客户端获取单元格的值
function editStopped() {
var spread = document.getElementById("FpSpread1");
var activeRow = spread.GetActiveRow();
var activeCol = spread.GetActiveCol();
var value = spread.GetValue(activeRow, activeCol);
alert(value);
}
4.通过定制单元格类型指定可排序列 (让用户只能通过点击特定列头去进行表单中的行排序)
1.通过继承 GerenralCellType 创建一个新的单元格类型。重载 PaintCell 方法 ,在客户端为控件添加 onDoubleClick 属性实现自定义排序函数。然后调用 基类的 PaintCell 方法。
2.在允许排序的列上应用自定义单元格类型。
3.添加控制列头 显示/隐藏 排序指示器的图片的代码,还需要添加页面的 Render 事件,在这个事件中,创的建HTML 表格,把排序指示器图片添加 到 HTML 表格的单 元格中,然后添加到列头单元格。排序指示器的图片需要包含在程序的文件夹中。

4.在客户端代码中,你可以通过函数定制可以排序的列(在Attribute中添加的函数),相应的调用后台代码的排序函数。
5.怎样在客户端导出 Spread 到 Excel 文件
System.IO.MemoryStream ms = new System.IO.MemoryStream();
FpSpread1.SaveExcel(ms, FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);//保存成execl
Response.Clear();
Response.ContentType = "application/VND.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=spread.xls");
Response.BinaryWrite(ms.ToArray());
ms.Flush();//清理
ms.Close();
Response.End();
如果你想导出 Spread 文件到开放的 XML 文件,代码应这样设置:
System.IO.MemoryStream ms = new System.IO.MemoryStream();
FpSpread1.SaveExcel(ms, https://www.wendangku.net/doc/cb15109793.html,eOOXMLFormat);
Response.Clear();
Response.ContentType = "application/VND.ms-excel";
Response.AddHeader("Content-Disposition", "attachmen

t;filename=spread.xlsx");
Response.BinaryWrite(ms.ToArray());
ms.Flush();
ms.Close();
Response.End();
1.在第 1、2 行代码,我们创建了 MemoryStream 的实例对象,然后把它传递给 SaveExcel() 方法。如果我们想把 Spread 保存到开放的 XML 文件,可以应 用 "UseOOXMLFormat" 保存标记。
2.第 3 行代码,调用 Response.Clear() 方法清除缓冲区的所有输出。
3.第 4 行代码,给 Response 对象的 ContentType 属性赋值为 "application/VND.ms-excel"
4.第 5 行代码,调用 Response.AddHeader() 方法设置适当的 HTTP 报头给 Response 对象。我们使用 "Content-Disposition" ,导出 Excel 文件时将激活 文件下载 对话框
5.第 6 行代码,调用 Response.BinaryWrite() 方法.使用这个方法的主要原因是这个方法可以在"不进行字符转换"的情况下把文本文件输出到缓冲区。
6.怎样在点击 “Delete” 按钮时显示确认信息
protected override void Render(HtmlTextWriter writer)
{
WebControl deleteButton = (WebControl)FpSpread1.FindControl("Delete");
if (deleteButton != null)
{
deleteButton.Attributes.Add("onclick", "var ret = confirm('Are you sure you want to delete this row?'); if(ret){FpSpread1.Delete();}");
base.Render(writer);
}
}
7. 设置锁定单元格内容 (通过移除锁定单元格的 “FpCellType” 属性,这个属性包含单元格锁定的信息,然后对单元格的内容进行设定,最后重新锁定单元格。


代码演示:
服务端代码
fpSpread1.ActiveSheetView.Columns(0).Locked=True
客户端代码:
function window.onload(){
var spread = document.all("FpSpread1");
if (spread!=null) {
spread.onActiveCellChanged = cellChanged;
}
}

function cellChanged() {
var iActiveRow, iActiveCol;
iActiveColumn = FpSpread1.ActiveCol;
iActiveRow = FpSpread1.ActiveRow;
var cell = FpSpread1.GetCellByRowCol(iActiveRow, iActiveCol);
cell.removeAttribute("FpCellType");
FpSpread1.SetValue(0, 0, "Scott", true);
cell.setAttribute("FpCellType", "readonly");
}
8.发生 AJAX 回调时显示“Loading... ”图像
function window_onload() {

var clientsideSpread = document.getElementById('FpSpread1');
clientsideSpread.onCallBackStart = OnCallStart;
}
function OnCallStart() {
event.async = true; //async异步
}

9.使用 Spread 格式化单元格文本内容
this.FpSpread1.EncodeValue = false ;
this.FpSpread1.Sheets[0].Cells[1,1].Value="HelloWorld.Y=X";
this.FpSpread1.Sheets[0].Cells[2, 1].Value = "GrapeCity<

/a>";

结果是:
Cell[1,1]:"HelloWorld.Y=X"
Cell[1,2]: "GrapeCity"
10.[导入导出]导出为Excel的标记
通过SaveExcel()方法可以轻松实现导出为Excel功能,不过要注意导出文件格式。这些格式都是通过ExcelSaveFlags控制的。详见下表:
NoFlagsSet:没有特殊标记
NoFormulas:只存储显示的数据,不包括公式。
SaveCustomRowHeaders:保存自定义的行头。
SaveCustomColumnHeaders:保存自定义的列头。
SaveAsFiltered:保存过滤过的结果。
SaveBothCustomRowAndColumnHeaders:保存行头和列头。
UseOOXMLFormat:保存为Excel2007(OfficeOpen XML)格式。
SaveAsViewed:只保存可见的数据。
DataOnly:只保存数据,不包括格式。
SaveAlternatingRowStyles:保存间隔行样式。
UseCustomPaletteForColorApproximations:保存一个自定义的调色板,当Spread中存在超过56中颜色时,自动取近似值。
UseDefaultColorPalette:使用默认的调色板。
DocumentCaching:保留从文件中预先读取的Excel数据。(例如:VBA,Macro)。
AutoRowHeight:默认的行高没有保存。Excel会根据每行最大的字体的高度,自动设置行高。


11.获取随机数,保证没有重复:
Random ran = new Random(lastRND); lastRND = ran.Next(100, 999); return DateTime.Now.ToString("yyyyMMddHHmmss") + Environment.TickCount.ToString() + "_" + lastRND.ToString();

相关文档
相关文档 最新文档