给DataGrid加上右键菜单 2066 [原作]

转载 2004年07月01日 10:00:00

给DataGrid加上右键菜单

     

         屠恩海(SunHai

   开发工具:Microsoft Visual Studio .NET 2003
   操作系统:Windows XP

                 用XML作为DataGrid的数据源

  码如下:

Dim fileName As String
Dim MyXmlDataSet As New DataSet
fileName = "sunhai.xml"
MyXmlDataSet.ReadXml(fileName)
Form1.DefInstance.DataGrid1.DataSource = MyXmlDataSet


  启动程序,DataTable默认是闭合的,需要手动点击展开,不胜其烦,用如下代码实现自动展开DataTable:

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

  DataGrid1.Expand(-1) '要展开的行数,设为-1表示展开所有行
  DataGrid1.NavigateTo(0, "DataTableName")

End Sub


   

  
                获得在DataGrid1鼠标右击的座标

Dim rowNum, columnNum As Integer '分别是行号和列号
Private Sub DataGrid1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseDown

   Dim myGrid As DataGrid = CType(sender, DataGrid)
  Dim hti As System.Windows.Forms.DataGrid.HitTestInfo
  hti = myGrid.HitTest(e.X, e.Y)

  If e.Button = MouseButtons.Right And e.Clicks = 1 Then '如果是鼠标右击
     Select Case hti.Type '
       Case System.Windows.Forms.DataGrid.HitTestType.Cell,         System.Windows.Forms.DataGrid.HitTestType.RowHeader,         System.Windows.Forms.DataGrid.HitTestType.ColumnHeader

         rowNum = hti.Row     '获得鼠标右击所在行
         columnNum = hti.Column '获得鼠标右击所在列
     End Select

  End If

End Sub

                 

                  添加ContextMenu

  在设计模式添加ContextMenu1:
  Text      Name
  删除一行    mnuDeleteRow
  插入一行     mnuInsertRow

 把DataGrid1属性中的ContextMenu设为ContextMenu1。

Private Sub mnuDeleteRow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuDeleteRow.Click

  MyXmlDataSet.Tables(0).Rows.RemoveAt(rowNum) '删除行

End Sub

 

Private Sub mnuInsertRow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuInsertRow.Click

  Dim row1 As DataRow = MyXmlDataSet.Tables(0).NewRow
  MyXmlDataSet.Tables(0).Rows.InsertAt(row1, rowNum)
  MyXmlDataSet.AcceptChanges()  '不加这句,你会发现所插入行都到“最后”了

End Sub


 
    怎么在DataTable中插入列呢?请各位指教!

Easyui-datagrid 给标题列加上超链接(MVC3.0应用程序中)

Easyui-datagrid实现超链接列 Easyui-datagrid实现超链接列到controller中 分页查询
  • u010073895
  • u010073895
  • 2015年01月11日 17:00
  • 2296

HDU-2066-一个人的旅行

ACM模版描述题解很基础的最短路,可是有些逗逼的是,需要默认草儿家到相邻城市花费为0,草儿家也可以默认为0号城市。代码#include #include #include using namesp...
  • f_zyj
  • f_zyj
  • 2016年11月12日 14:48
  • 166

easyui从datagrid中添加数据到datalist中

效果图:功能:从数据表格中添加数据到数据列表中,添加时过滤重复的,可以删除数据列表中已添加的 test ...
  • u011370903
  • u011370903
  • 2016年12月19日 17:33
  • 2746

HDU2066:一个人的旅行

Problem Description虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富...
  • bobodem
  • bobodem
  • 2015年10月26日 17:07
  • 505

datagrid的初始化以及动态加载

//datagrid初始化  $(function() {     $('#tt').datagrid({     //title : '信息显示',     //iconCls : 'icon-sa...
  • hulufeng1203
  • hulufeng1203
  • 2014年02月17日 09:15
  • 1550

js动态创建DataGrid

和上一篇一样,使用JS动态的创建datagrid也是一件非常简单的事情,以项目中的实例来做说明,当然easyui的官网文档也有,例子很简单: ①从后台获取数据 ②根据需要显示...
  • wang13667539325
  • wang13667539325
  • 2015年04月30日 21:19
  • 6092

弹出datagrid内容的dialog框

js: $(function () { $('#risk_suit_list').datagrid({ queryParams: '', url: 'ri...
  • qq_36092584
  • qq_36092584
  • 2016年09月26日 21:36
  • 1795

easyui的datagrid使用以及分页

easyui对于开发桌面级的WEB应用界面确实十分方便,而且美观。这里着重记录一下datagrid的使用,以及通过前后端配合实现的超简单的数据分页查询方式。...
  • tzdwsy
  • tzdwsy
  • 2015年08月09日 13:57
  • 3423

datagrid加载数据,列内容显示,改变字体颜色

//1.加载数据  列内容显示蓝色字体 #region 加载数据  列内容显示蓝色字体 //代码出自:三项工作--项目管理系统--项目管理--项目变更--采购方式变更申请 //页面路径:Ope...
  • qq_25409579
  • qq_25409579
  • 2016年01月11日 11:01
  • 2522

EasyUI效果--DataGrid的编辑效果

DataGrid的编辑效果是我目前使用的easyUI的第三个效果,相对于前两个,这个算是比较复杂点了。     运行起来的效果,大概就是这样,任意点击某行,然后该行变为可以编辑的,失去焦点之后,该行...
  • liuyanlinglanq
  • liuyanlinglanq
  • 2015年02月28日 18:21
  • 11893
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:给DataGrid加上右键菜单 2066 [原作]
举报原因:
原因补充:

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