//绑定GridView
void ShowGrid()
        {
            DataTable newdt = "指定的数据源";

gridSelectFile.AutoGenerateColumns = false;
            gridSelectFile.ShowHeader = true;
            gridSelectFile.DataKeyNames = new String[] { "Id" };
            DataControlFieldCollection dcfc = gridSelectFile.Columns;
            dcfc.Clear();
            BoundField bf;

bf = new BoundField();
            bf.DataField = "Id";
            bf.Visible = false;
            dcfc.Add(bf);

bf = new BoundField();
            bf.DataField = "FileName";
            bf.HeaderText = "文件名";
            bf.ItemStyle.Width = Unit.Parse("324px");
            dcfc.Add(bf);

ButtonField opRow = new ButtonField();
            opRow.ButtonType = ButtonType.Button;
            opRow.AccessibleHeaderText = "DelRow";
            opRow.CommandName = "DelRow";
            opRow.CausesValidation = true;
            opRow.Text = "删除";
            opRow.ItemStyle.Width = Unit.Parse("40px");
            opRow.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
            dcfc.Add(opRow);

gridSelectFile.DataSource = newdt.DefaultView;
            gridSelectFile.DataBind();

}

void gridSelectFile_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                (e.Row.Cells[2].Controls[0] as Button).Font.Size = FontUnit.Parse("9");
                (e.Row.Cells[2].Controls[0] as Button).BorderStyle = BorderStyle.Outset;
                (e.Row.Cells[2].Controls[0] as Button).BorderWidth = Unit.Parse("1px");
                (e.Row.Cells[2].Controls[0] as Button).Height = Unit.Parse("15px");
                Button btnDelete = (Button)e.Row.Cells[2].Controls[0];
                btnDelete.Attributes.Add("onclick", "javascript:return confirm('你确认要删除此记录吗?')");
            }
        }

void gridSelectFile_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            //单击Grid中按钮时发生
            int selIndex = Convert.ToInt32(e.CommandArgument);

if (e.CommandName == "DelRow")
            {
                try
                {
                    //从附件列表中移除此项
                    DataRow[] drs = newdt.Select("Id=" + gridSelectFile.DataKeys[selIndex].Value.ToString());
                    foreach (DataRow dr in drs)
                    {
                        dr.Delete();
                    }

}
                catch (Exception err)
                {
                    ShowMessageBox("删除失败 \n" + err.Message);
                }
            }

ShowGrid();
        }

转载于:https://www.cnblogs.com/catliu/archive/2007/02/26/657275.html

使用DataTable动态绑定GridView相关推荐

  1. Server.UrlEncode UrlDecode 动态绑定gridview列发送接收乱码的问题

    Server.UrlEncode UrlDecode 动态绑定gridview列发送接收乱码的问题 我的帖子http://topic.csdn.net/u/20120807/23/4491271d-7 ...

  2. C# 对Datatable排序

    一,在C#中要对Datatable排序,可使用DefaultView的Sort方法.先获取Datatable的DefaultView,然后设置 得到的Dataview的sort属性,最后用视图的ToT ...

  3. 将GrilView中的数据转换成DataTable

    //在webform开发中难免会遇到将GrilView中的数据转换成DataTable,下面的类将实现这个功能,但仅是显示出来的数据,如有分页得另行处理. using System; using Sy ...

  4. net读取exchange数据

    大部分的参考是来自MSDN: http://msdn.microsoft.com/en-us/library/exchangewebservices(EXCHG.80).aspx 2007版的Exch ...

  5. C# 工具类分享(7~14)

    目录 7. JSON操作类 8.ExcelHelper 类9 9.ImageHelper 10.Color Helper类 11.ImageClass 类 12.ImageDown 图片下载类 13. ...

  6. vs2012 access数据库 crystalreport

    需求:读取access数据库记录,利用crystalreportviwer生成水晶报表 准备工作: 由于vs2012本身是不支持crystalreportviwer和操作access数据库文件,需要下 ...

  7. C#项目绩效考核实战提升(四)

    26.空白窗体的妙用及动态列的梳理 1.由于没有开发系数管理,所以点击系数管理菜单会报错 解决办法: 在FrmMain.cs中,Tag后面加了一个问号,表示当Tag为空时也赋值,但是需要注意的是,根据 ...

  8. asp.net排序功能

    前台gridview视图属性设置 AllowSorting="True" OnSorting="dgvRequests10_Sorting" 后台cs文件代码段 ...

  9. 上月技术关注:Google大表

    [搜索技术, Google, Bigtable] 翻译:Google大表(BigTable) >> bigtable是设计来分布存储大规模结构化数据的,从设计上它可以扩展到上2^50字节, ...

最新文章

  1. 【转】【CUBE】Oracle分组函数之CUBE魅力
  2. 计算机活动宣传稿,畅想科技,创造梦想 ——东华大学计算机科学与技术学院第十一届图灵科技文化节通讯稿...
  3. opa847方波放大电路_电子管放大电路当中阴极电阻的作用和选择
  4. linux连接Db2数据库时报58031_db2常用命令
  5. 弹窗设计UI素材模板|带你了解下弹窗特性
  6. K8S_Google工作笔记0003---K8S核心概念
  7. 微软正式发布 Azure IoT Central
  8. C# Thread.Sleep 导致内存溢出,在多线程里Sleep的真实情况 软件闪退 内存溢出
  9. Windows -- ThinkPad E470 win10-64bit显示问题和声音播放问题
  10. 塞班手机刷linux,14年前的E680携带linux系统把诺基亚塞班系统按在地板摩擦
  11. css 子元素选择器
  12. 给神经网络加入先验知识!
  13. ctfshow 做题 MISC入门 模块 31-40
  14. 计算机前置usb应用,usb前面不能用,详细教您解决电脑前置USB接口不能使用
  15. 在类方法中可 用this来调用本类的类方法
  16. sd卡测速工具_SD卡数据恢复教程与恢复方法
  17. 如何将代码插入到Word文档
  18. 微信小程序接入阿里云直播
  19. unity找不到报错界面
  20. win10 pxe 安装linux,win10+TPLINK,用PXE安装redhat系统

热门文章

  1. php能做的事情,成就事业要做的十件事
  2. linux mysql备份大量数据库,linux备份整个mysql数据库
  3. 苹果秋季新品将要发布,MacBook Pro都有哪些变化
  4. 网络安全与渗透测试工具集合
  5. 网络规划设计师论文汇总(2012-2018)考前冲刺真题
  6. JavaScript---DOM元素
  7. 小汤学编程之JAVA基础day08——面向对象(三):抽象类与接口
  8. 数字类型转换 --Python3
  9. 编程一小时 code.org [六一关注]
  10. 洛谷——P2299 Mzc和体委的争夺战