DataGrid2
1、DataGrid的button属性设置
CommandName="ToEdit":
对其中的button按钮进行选择:
CommandArgument='<%#Eval("ID") %>':
可以在后台的DataGrid1_ItemCommand1中获取当前按下的button按钮所在行的ID:
string keyId = e.CommandArgument.ToString();
也可以直接在DataGrid属性里配置ID:
DataKeyField="ID":
string keyId = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
2、DataGrid中的button,实现导出word文档
如:
if (e.CommandName.ToLower() == "toword") //导出word
{
//导出word
string ID = e.CommandArgument.ToString();
object missing = System.Reflection.Missing.Value;
string FileName = System.Web.HttpContext.Current.Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath);
//string aa = ;
string TemplateFile = FileName + @"Template\文件名字.doc";//带有格式的空的“文件名字.doc”文档
FileName += @"FckUploadfile\" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".doc";
File.Copy(TemplateFile, FileName);
FileInfo fi = new FileInfo(FileName);
//判断文件属性是否只读?是则修改为一般属性再保存
if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
{
fi.Attributes = FileAttributes.Normal;
}
Microsoft.Office.Interop.Word.Application App = new Microsoft.Office.Interop.Word.Application();
try
{
object Obj_FileName = FileName;
object Visible = false;
object ReadOnly = false;
Microsoft.Office.Interop.Word.Document Doc = App.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref Visible,
ref missing, ref missing, ref missing,
ref missing);
Doc.Activate();
// Get the data and fill the data( PersonName ,PersonResume) to the appoint BookMark
DataRow row = AccountRule.导出试用期考核表信息获取(ID).Rows[0];
object BookMarkName = "姓名";
object what = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark;
Doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
Doc.ActiveWindow.Selection.TypeText(row["姓名"].ToString());
BookMarkName = "性别";
Doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
Doc.ActiveWindow.Selection.TypeText(row["姓名"].ToString());
BookMarkName = "出生年月";
Doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
Doc.ActiveWindow.Selection.TypeText(row["出生年月"].ToString());
BookMarkName = "政治面貌";
Doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
Doc.ActiveWindow.Selection.TypeText(row["政治面貌"].ToString());
BookMarkName = "单位";
Doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
Doc.ActiveWindow.Selection.TypeText(row["单位"].ToString());
BookMarkName = "从事工作";
Doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
Doc.ActiveWindow.Selection.TypeText(row["从事工作"].ToString());
BookMarkName = "学历学位";
Doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
Doc.ActiveWindow.Selection.TypeText(row["学历"].ToString() + "\r\n" + row["学位"].ToString());
Doc.ActiveWindow.Selection.MoveDown(Microsoft.Office.Interop.Word.WdUnits.wdLine, 6);
BookMarkName = "试用期起止时间";
Doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
Doc.ActiveWindow.Selection.TypeText(row["试用期起止时间"].ToString());
BookMarkName = "个人总结";
Doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref BookMarkName);
Doc.ActiveWindow.Selection.TypeText(Convert.IsDBNull(row["个人总结"]) ? string.Empty : row["个人总结"].ToString());
File.SetAttributes(FileName, FileAttributes.Normal);
Doc.Save();
// Save the File and change the File as stream
object IsSave = true;
Doc.Close(ref IsSave, ref missing, ref missing);
Get(FileName);
}
finally
{
App.Quit(ref missing, ref missing, ref missing);
}
//string url = Request.ApplicationPath + @"/qgy/dybg_File.aspx?KeyId=" + keyId;
//Response.Write("<script>window.open('" + url + "','','target=_blank,scrollbars=yes,top=100,left=200,width=600,height=300,scrolling=1');</script>");
}
}
public void Get(string fileName)
{
string paths = Request.MapPath("../FckUploadfile");
string file = Path.Combine(paths, fileName);
FileInfo fi = new FileInfo(file);
if (fi.Exists == true)
{
// const long ChunkSize = 1024;
// byte[] buffer = new byte[ChunkSize];
//Response.Clear();
FileStream istream = File.OpenRead(file);
try
{
byte[] buffer = new byte[istream.Length];
istream.Read(buffer, 0, buffer.Length);
istream.Seek(0, SeekOrigin.Begin);
Response.BinaryWrite(buffer);
//long Data = istream.Length;
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(file.Substring(file.LastIndexOf("\\") + 1)));
}
finally
{
}
}
}
DataGrid2的更多相关文章
- Struts2 easy UI插件
一.easy UI是类似于jQuery UI的插件库,它提供了丰富的各种常用插件:tree.datagrid... tree插件: 语法:$(selector).tree([settings]); 常 ...
- Easy UI常用插件使用
一.easy UI是类似于jQuery UI的插件库,它提供了丰富的各种常用插件:tree.datagrid... tree插件: 语法:$(selector).tree([settings]); 常 ...
- Struts2中的EasyUI
Struts2中的EasyUI 一.easy UI是类似于jQuery UI的插件库,它提供了丰富的各种常用插件:tree.datagrid... tree插件: 语法:$(selector).tre ...
- miniui中常用的状态显示方式
1.查询sys_code表得到对应的状态 考生状态:<input class="mini-combobox" style="" textField=&qu ...
- java_easyui体系之DataGrid(4)[转]
一:简介 在前面DataGrid(3)的基础上添加后台的实现.本来是想只搭建前台页面的.后台不写.现在觉得还是都实现好点.从真实情况出发.后台用的ssh. 1. 新增冻结列功能. 2. 实现界面的添加 ...
- java_easyui体系之DataGrid(3)[转]
一:简介 在2的基础上实现增删改.增.改都是通过行编辑来实现的.具体业务逻辑: 1. 增加一条记录的时候: a) 在datagrid表格最前端增加一行(当然也可在指定位置增加.)增加的行的字段必须与要 ...
- java_easyui体系之DataGrid(2)[转]
一:简介 在1的基础上添加layout组件.实现通过条件动态的从后台查询数据到前台展示.使用的方式是将查询单独作为一个layout中的一个面板. 二:关键之处 1.效果图: 2.左侧的折叠组件: 折叠 ...
- csharp: Data binding in WPF DataGrid control
<Window x:Class="WpfProjectDemo.MainWindow" xmlns="http://schemas.microsoft.com/wi ...
- JQuery EasyUI之DataGrid列名和数据列分别设置不同对齐方式(转)
需求如下 现有数据列三列 Name,Age,CreateDate 数据 张三,18,2000-12-09 :12:34:56 李四,28,2000-12-09 :12:34:56 王麻子,38,200 ...
随机推荐
- eclipse中的tomcat debug模式启动报超时45s
在eclipse中加入tomcat,开debug模式非常好用,这里就不介绍了 最近eclipse的tomcat开debug模式就是启动不了,增加时间也不能解决,但是非debug模式就可以打开,我觉得是 ...
- c++ 设计模式1
从面向对象谈起 1) 底层思维:向下,如何把握及其底层,从微观理解对象构造 (语言构造.编译转换.内存模型.运行时机制) 抽象思维: 向上,如何将我们的周围世界抽象为程序代码 (面向对象.组件封装 ...
- LeetCode1 Two Sum
题目 :Given an array of integers, return indices of the two numbers such that they add up to a specifi ...
- WPF 之 左键弹出操作菜单,并禁用右键菜单
在目前的WPF版本中,很多的控件都有一个ContextMenu的属性,可以设置组件的右键菜单,这点确实是很方便,但是有些时候我们可能会需要当单击鼠标左键才弹出这个ContextMenu,而不是单击鼠标 ...
- Java SE ---控制流程:break与continue语句
在java中,可以使用break和continue语句控制循环. 1. break语句:用于终止循环,就是跳出当前循环,执行循环后面的代码. . 2. continue语句:用于跳出当 ...
- Oracle基础<5>--触发器
一.触发器 触发器是当特定事件出现时自动执行的代码块.比如,每次对员工表进行增删改的操作时,向日志表中添加一条记录.触发器和存储过程是由区别的:触发器是根据某些条件自动执行的,存储过程是手动条用的. ...
- Linux常用命令之seq
标题:seq命令的使用 作用:seq命令用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式.宽度.分割符号进行控制 语法: [1] seq [选项] ...
- ReactNative学习-ListView
ListView相对于View的优点就在于可以不用一下子就把数据加载完,而是滑动着加载着数据,可以缓解数据加载,避免软件卡死. 官方文档:https://facebook.github.io/reac ...
- umbraco表单
view Model定义类 controller 创建Form @HTML.RenderPartial(“”,)
- IOS 9 遇到的问题
IOS9中通过url scheme调用其他app时候,控制台会输入 canOpenURL: failed for URL: "XXXXXX://" - error: "T ...