DataGrid动态创建删除列,可以删除记录

原创 2006年05月27日 17:26:00

private void Page_Load(object sender, System.EventArgs e)
  {
   //建立删除按钮列
   ButtonColumn bc = new ButtonColumn();
   bc.ButtonType = ButtonColumnType.PushButton;
   bc.Text = "删 除";
   bc.CommandName = "del";
   bc.HeaderText = "删 除";
   DataGrid1.Columns.Add(bc);
   LoadData();
  }

/// <summary>
  /// 加载数据,绑定到DataGrid
  /// </summary>                                                                                                                                                                   private void LoadData()
  {
   string strCmd = "";
   if(Session["sorting"] == null)
   {
    strCmd = "SELECT * FROM Jxt_DeviceManage_DeviceBasicData";
   }
   else
   {
    strCmd = "SELECT * FROM Jxt_DeviceManage_DeviceBasicData ORDER BY "+Session["sorting"].ToString()+" "+Session["sortDirection"].ToString();
   }
   conn = new SqlConnection(strConn);
   adapter = new SqlDataAdapter(strCmd,conn);
   ds = new DataSet();
   adapter.Fill(ds);
   DataTable dt = ds.Tables[0];
   DataColumn dataCol = new DataColumn("RowNumber",Type.GetType("System.Int16"));
   dt.Columns.Add(dataCol);
   for(int i=0;i<dt.Rows.Count;i++)
   {
    if(0 == i)
    {
     dt.Rows[i][dataCol] = 1;
    }
    else
    {
     dt.Rows[i][dataCol] = Convert.ToInt16(dt.Rows[i-1][dataCol])+1;
    }
   }
   DataView dv = new DataView(dt);
   DataGrid1.DataSource = dv;
   DataGrid1.DataKeyField = "DBID";
   this.DataGrid1.DataBind();
   if(this.DataGrid1.Items.Count < 1)
   {
    this.DataGrid1.Visible = false;
    Response.Write("没有任何设备");
   }
  }

/// <summary>
  /// 删除记录
  /// </summary>
  /// <param name="itemIndex">int 索引,获取DataGrid1.DataKeyField</param>
  private void DeleteRecord(int itemIndex)
  {
   conn = new SqlConnection(strConn);
   string strCmdBasic = "DELETE FROM Jxt_DeviceManage_DeviceBasicData WHERE DBID='"+DataGrid1.DataKeys[itemIndex]+"'";
   string strCmdExtra = "DELETE FROM Jxt_DeviceManage_DeviceExtraData WHERE DBID='"+DataGrid1.DataKeys[itemIndex]+"'";
   SqlCommand cmdBasic = new SqlCommand(strCmdBasic,conn);
   SqlCommand cmdExtra = new SqlCommand(strCmdExtra,conn);
   conn.Open();
   SqlTransaction myTrans = conn.BeginTransaction();
   cmdBasic.Transaction = myTrans;
   cmdExtra.Transaction = myTrans;
   try
   {
    cmdBasic.ExecuteNonQuery();
    cmdExtra.ExecuteNonQuery();
    myTrans.Commit();
   }
   catch(SqlException ex)
   {
    myTrans.Rollback();
    System.Diagnostics.Debug.Write(ex.ToString());
   }
   finally
   {
    cmdBasic.Dispose();
    cmdExtra.Dispose();
    conn.Close();
    conn.Dispose();
   }
  }

/// <summary>
  /// 调用删除函数,删除记录
  /// </summary>
  /// <param name="source"></param>
  /// <param name="e"></param>
  private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
   if(e.CommandName=="del")
   {
    DeleteRecord(e.Item.ItemIndex);
    LoadData();
   }
  }

 

 

/// <summary>
  /// 这是一个关于动态添加的函数
  /// </summary>
  /// <param name="DataFieldValue">string DataField</param>
  /// <param name="HeaderTextValue">string Header Text</param>
  /// <returns>BoundColumn</returns>
  BoundColumn   CreateBoundColumn(String DataFieldValue,String HeaderTextValue)
  {
   //   This version of the CreateBoundColumn method sets only the DataField and HeaderText properties.Create a BoundColumn.
   BoundColumn column = new BoundColumn();

   //   Set   the   properties   of   the   BoundColumn.
   column.DataField = DataFieldValue;
   column.HeaderText = HeaderTextValue;
   //   column.ItemStyle.Width = "width:";
   return column;
  }

jquery-easyui datagrid 中每行增加删除按钮成功删除

职员id 姓名 组织id 公司部门 操作 这是jsp页面。 $("#transferredViewTable").datagrid({ url:url, /...
  • dzq584462393
  • dzq584462393
  • 2014年01月16日 10:48
  • 2396

datagrid 基本添加行,删除行,插入行,自定义方法

一、需要引入的文件 二、代码详解 /* 允许编辑单元格 */ $('#contentTable').datagrid().datagrid('enableCellEditing'); /*...
  • weinichendian
  • weinichendian
  • 2016年09月20日 15:15
  • 2849

EasyUI-DataGrid之批量删除

简单介绍一下,涉及到的几个知识点:      1.checkbox,多选      2.前台到后台传值,我用的是字符串拼接,到了后台在拆分的方式      3.批量删除的底层实现 效果图      ...
  • caozhangyingfei0109
  • caozhangyingfei0109
  • 2015年01月12日 12:26
  • 13928

Wireshark网络分析实例集锦2.1.2隐藏、删除、重新排序及编辑列

Wireshark网络分析实例集锦2.1.2隐藏、删除、重新排序及编辑列
  • u014621518
  • u014621518
  • 2014年12月16日 10:28
  • 1610

datagrid删除记录小TIP

删除datagrid删除记录使用的jquery框架,在权限管理或者POJO之间有一对多,多对多时关联关系的删除.1.需要解除关联关系的datagrid的的查询,没有分页//datagrid查询的方法是...
  • u011487710
  • u011487710
  • 2017年03月16日 09:55
  • 298

easyui-datagrid删除行,添加行

这里我遇到的问题是怎么点击分配按钮把左边表单中选中的内容删除,并且在右边的表单中添加选中的那些内容。 经过查阅百度及easyui的官方文档,我解决用到了下面的几个datagrid中的方法: 用到的...
  • a4638966
  • a4638966
  • 2017年02月17日 13:40
  • 3571

【EasyUi DataGrid】批量删除

DataGrid是我们做网页常用到的组件之一,对它的操作也无非是增删改查操作。单条数据的增删改相对来说比较简单,增加、修改可以直接在DataGrid中进行,也可以用弹出框的形式把数据装载在文本框等各种...
  • chenyanmoting
  • chenyanmoting
  • 2015年07月30日 12:35
  • 3293

easyUI datagrid删除行数据bug 解决办法

当使用批量删除的时候 会出现这种问题,明明已经删除了的那条数据,在后台跟踪代码的时候会发现id还是会传过去,原因就在于,选中多行进行提交时删除后,还有id还在缓存中; 解决办法在每次执行删除后,手动对...
  • woshishui6501
  • woshishui6501
  • 2013年07月29日 19:26
  • 9771

代码篇——EasyUI中DataGrid选中多行提交和删除

需求: 俩个表格,第一个表格为班级,里面有具体的一班二班,另一个表是该班级的学生。实现的功能是:选中第一个表的班级,从数据库中查询该班级的学生,显示在另外的一个表格中。点击移除,就可以将选中学生从考生...
  • u013047824
  • u013047824
  • 2016年04月09日 16:14
  • 6846

Jquery easyui从零单排之datagrid单行数据删除

这里主要学习datagrid删除单选行数据功能的实现。 一、前台代码: Start from zero ...
  • yangmingxing980
  • yangmingxing980
  • 2015年12月15日 09:17
  • 948
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DataGrid动态创建删除列,可以删除记录
举报原因:
原因补充:

(最多只允许输入30个字)