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的更多相关文章

  1. Struts2 easy UI插件

    一.easy UI是类似于jQuery UI的插件库,它提供了丰富的各种常用插件:tree.datagrid... tree插件: 语法:$(selector).tree([settings]); 常 ...

  2. Easy UI常用插件使用

    一.easy UI是类似于jQuery UI的插件库,它提供了丰富的各种常用插件:tree.datagrid... tree插件: 语法:$(selector).tree([settings]); 常 ...

  3. Struts2中的EasyUI

    Struts2中的EasyUI 一.easy UI是类似于jQuery UI的插件库,它提供了丰富的各种常用插件:tree.datagrid... tree插件: 语法:$(selector).tre ...

  4. miniui中常用的状态显示方式

    1.查询sys_code表得到对应的状态 考生状态:<input class="mini-combobox" style="" textField=&qu ...

  5. java_easyui体系之DataGrid(4)[转]

    一:简介 在前面DataGrid(3)的基础上添加后台的实现.本来是想只搭建前台页面的.后台不写.现在觉得还是都实现好点.从真实情况出发.后台用的ssh. 1. 新增冻结列功能. 2. 实现界面的添加 ...

  6. java_easyui体系之DataGrid(3)[转]

    一:简介 在2的基础上实现增删改.增.改都是通过行编辑来实现的.具体业务逻辑: 1. 增加一条记录的时候: a) 在datagrid表格最前端增加一行(当然也可在指定位置增加.)增加的行的字段必须与要 ...

  7. java_easyui体系之DataGrid(2)[转]

    一:简介 在1的基础上添加layout组件.实现通过条件动态的从后台查询数据到前台展示.使用的方式是将查询单独作为一个layout中的一个面板. 二:关键之处 1.效果图: 2.左侧的折叠组件: 折叠 ...

  8. csharp: Data binding in WPF DataGrid control

    <Window x:Class="WpfProjectDemo.MainWindow" xmlns="http://schemas.microsoft.com/wi ...

  9. JQuery EasyUI之DataGrid列名和数据列分别设置不同对齐方式(转)

    需求如下 现有数据列三列 Name,Age,CreateDate 数据 张三,18,2000-12-09 :12:34:56 李四,28,2000-12-09 :12:34:56 王麻子,38,200 ...

随机推荐

  1. OpenRisc-67-OR的汇编

    引言 之前我们写过OR的裸机程序,写过基于OR的linux设备驱动程序,也反汇编过OR的机器码. 本小节,我们将通过一个简单的实验,对OR的汇编(指令集)做一个简单的梳理和測试. 1,基本思想 要想了 ...

  2. 分布式存储系统sheepdog

    Sheepdog,是由NTT的3名日本研究员开发的开源项目,主要用来为虚拟机提供块设备. 其架构例如以下: 以下,我们将从架构.模块等几个方面来介绍下: 一.架构图 如上图: 採用无中心节点的全对称架 ...

  3. cocos2d win7 安卓环境配置开发

    相关工具 下载 Android SDK 下载和安装 Android NDK版本不要选r9的.用r8e!r9会报错 下载安装JDK版本是 jdk-7u13-windows-x64.exe 下载和安装Cy ...

  4. valgrind 内存检测与调用图生成

    http://blog.csdn.net/destina/article/details/6198443  感谢作者的分享! 一  valgrind是什么? Valgrind是一套Linux下,开放源 ...

  5. careercup-高等难度 18.7

    18.7 给定一组单词,编写一个程序,找出其中的最长单词,且该单词由这组单词中的其他单词组合而成. 解法: 原题 给定字符串,以及一个字典,判断字符串是否能够拆分为字段中的单词.例如,字段为{hell ...

  6. ZOJ 2588 Burning Bridges(求含重边的无向连通图的割边) - from lanshui_Yang

    Burning Bridges Time Limit: 5 Seconds Memory Limit: 32768 KB Ferry Kingdom is a nice little country ...

  7. 代码片段--Makefile之大型工程项目子目录Makefile的一种通用写法

    转载:http://blog.csdn.net/mo_hui123456/article/details/8929615 管理Linux环境下的C/C++大型项目,如果有一个智能的Build Syst ...

  8. jQery简单Tab选项卡效果

    简单的Tab效果 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  9. 【Java线程池快速学习教程】

    1. Java线程池 线程池:顾名思义,用一个池子装载多个线程,使用池子去管理多个线程. 问题来源:应用大量通过new Thread()方法创建执行时间短的线程,较大的消耗系统资源并且系统的响应速度变 ...

  10. 重构25-Introduce Design By Contract checks(契约式设计)

    契约式设计(DBC,Design By Contract)定义了方法应该包含输入和输出验证.因此,可以确保所有的工作都是基于可用的数据,并且所有的行为都是可预料的.否则,将返回异常或错误并在方法中进行 ...