使用DataTable动态绑定GridView
//绑定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相关推荐
- Server.UrlEncode UrlDecode 动态绑定gridview列发送接收乱码的问题
Server.UrlEncode UrlDecode 动态绑定gridview列发送接收乱码的问题 我的帖子http://topic.csdn.net/u/20120807/23/4491271d-7 ...
- C# 对Datatable排序
一,在C#中要对Datatable排序,可使用DefaultView的Sort方法.先获取Datatable的DefaultView,然后设置 得到的Dataview的sort属性,最后用视图的ToT ...
- 将GrilView中的数据转换成DataTable
//在webform开发中难免会遇到将GrilView中的数据转换成DataTable,下面的类将实现这个功能,但仅是显示出来的数据,如有分页得另行处理. using System; using Sy ...
- net读取exchange数据
大部分的参考是来自MSDN: http://msdn.microsoft.com/en-us/library/exchangewebservices(EXCHG.80).aspx 2007版的Exch ...
- C# 工具类分享(7~14)
目录 7. JSON操作类 8.ExcelHelper 类9 9.ImageHelper 10.Color Helper类 11.ImageClass 类 12.ImageDown 图片下载类 13. ...
- vs2012 access数据库 crystalreport
需求:读取access数据库记录,利用crystalreportviwer生成水晶报表 准备工作: 由于vs2012本身是不支持crystalreportviwer和操作access数据库文件,需要下 ...
- C#项目绩效考核实战提升(四)
26.空白窗体的妙用及动态列的梳理 1.由于没有开发系数管理,所以点击系数管理菜单会报错 解决办法: 在FrmMain.cs中,Tag后面加了一个问号,表示当Tag为空时也赋值,但是需要注意的是,根据 ...
- asp.net排序功能
前台gridview视图属性设置 AllowSorting="True" OnSorting="dgvRequests10_Sorting" 后台cs文件代码段 ...
- 上月技术关注:Google大表
[搜索技术, Google, Bigtable] 翻译:Google大表(BigTable) >> bigtable是设计来分布存储大规模结构化数据的,从设计上它可以扩展到上2^50字节, ...
最新文章
- 【转】【CUBE】Oracle分组函数之CUBE魅力
- 计算机活动宣传稿,畅想科技,创造梦想 ——东华大学计算机科学与技术学院第十一届图灵科技文化节通讯稿...
- opa847方波放大电路_电子管放大电路当中阴极电阻的作用和选择
- linux连接Db2数据库时报58031_db2常用命令
- 弹窗设计UI素材模板|带你了解下弹窗特性
- K8S_Google工作笔记0003---K8S核心概念
- 微软正式发布 Azure IoT Central
- C# Thread.Sleep 导致内存溢出,在多线程里Sleep的真实情况 软件闪退 内存溢出
- Windows -- ThinkPad E470 win10-64bit显示问题和声音播放问题
- 塞班手机刷linux,14年前的E680携带linux系统把诺基亚塞班系统按在地板摩擦
- css 子元素选择器
- 给神经网络加入先验知识!
- ctfshow 做题 MISC入门 模块 31-40
- 计算机前置usb应用,usb前面不能用,详细教您解决电脑前置USB接口不能使用
- 在类方法中可 用this来调用本类的类方法
- sd卡测速工具_SD卡数据恢复教程与恢复方法
- 如何将代码插入到Word文档
- 微信小程序接入阿里云直播
- unity找不到报错界面
- win10 pxe 安装linux,win10+TPLINK,用PXE安装redhat系统