vb.net 中 listview 中编辑 可以用 ComboBox 选择编辑数据
Public Class ModifyLineData
Dim mousePos As Point
Dim pubListviewitem As ListViewItem
Dim imgList As ImageList
Dim pubParent As FrmInvoiceList
Public Sub InitDataLine(ByVal dr As IDataReader, ByVal argTaxTypeStr As String, ByVal tax_rate As String, ByRef argParentForm As FrmInvoiceList)
pubParent = argParentForm
Dim listviewitem As ListViewItem
ListView1.Items.Clear()
ListView1.View = View.Details
While dr.Read()
listviewitem = New ListViewItem
listviewitem.Text = dr("list_goods_name").ToString() '""
'listviewitem.SubItems.Add(dr("list_goods_name").ToString())
listviewitem.SubItems.Add(dr("list_tax_item").ToString())
listviewitem.SubItems.Add(dr("list_standard").ToString())
listviewitem.SubItems.Add(dr("list_unit").ToString())
listviewitem.SubItems.Add(dr("list_number").ToString())
listviewitem.SubItems.Add(dr("list_price").ToString())
listviewitem.SubItems.Add(dr("list_price_kind").ToString())
'listviewitem.SubItems.Add(dr("list_goods_name").ToString())
listviewitem.SubItems.Add(argTaxTypeStr)
listviewitem.SubItems.Add(tax_rate)
ListView1.Items.Add(listviewitem)
End While
dr.Close()
End Sub
Private Sub ModifyLineData_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Common.DisableCloseButton(Me)
mousePos = New Point(0, 0)
imgList = New ImageList()
imgList.ImageSize = New Size(1, 20)
ListView1.SmallImageList = imgList
ListView1.GridLines = True
ListView1.Controls.Add(ComboBox1)
'ListView1.View = View.Details
'ListView1.Items.Clear()
'inittest()
Dim tmpDt As DataTable = New DataTable
tmpDt = ExcelHelper.ImportExcel(Application.StartupPath + "\InvoiceType.xls")
ComboBox1.Items.Clear()
For i As Int32 = 0 To tmpDt.Rows.Count - 1
ComboBox1.Items.Add(tmpDt.Rows(i)("税收编码") + "||" + tmpDt.Rows(i)("商品和服务名称"))
Next
End Sub
Private Sub ListView1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseMove
mousePos.X = e.X
mousePos.Y = e.Y
End Sub
Private Sub ListView1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDoubleClick
pubListviewitem = ListView1.GetItemAt(mousePos.X, mousePos.Y)
ComboBox1.Text = pubListviewitem.SubItems(1).Text
ComboBox1.Width = ListView1.Columns(1).Width
ComboBox1.Height = imgList.ImageSize.Height
ComboBox1.Location = New Point(pubListviewitem.Position.X + ListView1.Columns(0).Width, pubListviewitem.Position.Y)
ComboBox1.Visible = True
End Sub
Private Sub ComboBox1_SelectedValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedValueChanged
changeName()
End Sub
Private Sub changeName()
ComboBox1.Text = ComboBox1.Text.Split("||")(0)
For Each item As ListViewItem In ListView1.SelectedItems
item.SubItems(1).Text = ComboBox1.Text
'pubListviewitem.Text = ComboBox1.Text
'pubListviewitem.SubItems(1).Text = pubListviewitem.Text + pubListviewitem.SubItems(8).Text
ComboBox1.Visible = False
Next
End Sub
Private Sub ListView1_AfterLabelEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LabelEditEventArgs) Handles ListView1.AfterLabelEdit
'pubListviewitem.SubItems(1).Text = pubListviewitem.Text + pubListviewitem.SubItems(8).Text
End Sub
Private Sub ButtonConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonYes.Click
Me.ButtonYes.DialogResult = DialogResult.No
Dim listPriceKind As Integer
' Dim listNumber As Integer
Dim listNumber As System.Decimal
Dim listPrice As System.Decimal
'Dim taxOffPrice As System.Decimal
Dim taxOffAmount As System.Decimal
Dim totalAmount As System.Decimal
Dim tax_rate As Integer
'税收分类编码需要的变量
'Dim contractAttr As String = ""
Dim taxTypeStr As String
Dim taxResStr As String = ""
For Each item As ListViewItem In ListView1.Items
Me.ButtonYes.DialogResult = DialogResult.Yes
Call pubParent.mObjTaxCardX.InvListInit()
taxTypeStr = item.SubItems(7).Text
pubParent.mObjTaxCardX.ListGoodsName = item.SubItems(0).Text
pubParent.mObjTaxCardX.ListTaxItem = item.SubItems(1).Text
pubParent.mObjTaxCardX.ListStandard = item.SubItems(2).Text
pubParent.mObjTaxCardX.ListUnit = item.SubItems(3).Text
listNumber = System.Decimal.Parse(item.SubItems(4).Text)
'listNumber = CInt(dr("list_number"))
listPrice = System.Decimal.Parse(item.SubItems(5).Text)
totalAmount = Decimal.Round(Decimal.Multiply(listPrice, listNumber), 2)
pubParent.mObjTaxCardX.ListNumber = listNumber
listPriceKind = CInt(item.SubItems(6).Text)
If listPriceKind = 1 Then
'taxOffPrice = Decimal.Divide(Decimal.Truncate(Decimal.Divide(listPrice, 0.0117)), 100)
'taxOffPrice = Decimal.Divide(listPrice, 1.17)
tax_rate = CInt(item.SubItems(8).Text)
Dim tax_rate_pre As Decimal = 1 + tax_rate * 0.01
taxOffAmount = Decimal.Round(Decimal.Divide(totalAmount, tax_rate_pre), 2)
listPriceKind = 0
Else
listPriceKind = 0
End If
'mObjTaxCardX.ListPrice = Decimal.ToDouble(taxOffPrice)
'mObjTaxCardX.ListAmount = Decimal.ToDouble(Decimal.Multiply(taxOffPrice, listNumber))
'mObjTaxCardX.ListTaxAmount = Decimal.ToDouble(Decimal.Multiply(Decimal.Subtract(listPrice, taxOffPrice), listNumber))
pubParent.mObjTaxCardX.ListAmount = taxOffAmount
pubParent.mObjTaxCardX.ListTaxAmount = Decimal.Subtract(totalAmount, taxOffAmount)
'MessageBox.Show( String.Format("listPrice:{0},listNumber:{1},totalAmount:{2},taxOffAmount:{3}, taxOffAmount:{4}", listPrice, listNumber, totalAmount, taxOffAmount, Decimal.Subtract(totalAmount, taxOffAmount)))
'将税收分类编码通过BatchUpload传递过去。taxResStr是接收的返回结果,有问题,调试可用来看
taxResStr = pubParent.mObjTaxCardX.BatchUpload(taxTypeStr)
Call pubParent.mObjTaxCardX.AddInvList()
Next
Close()
End Sub
Private Sub ButtonClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonNo.Click
Me.ButtonYes.DialogResult = DialogResult.No
Close()
End Sub
Private Sub ComboBox1_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.Leave
changeName()
End Sub
Private Sub ModifyLineData_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Return
End Sub
Private Sub inittest()
Dim listviewitem As ListViewItem
listviewitem = New ListViewItem
listviewitem.Text = "数字化校园电子设备"
'listviewitem.SubItems.Add("")
listviewitem.SubItems.Add("")
listviewitem.SubItems.Add("")
listviewitem.SubItems.Add("套")
listviewitem.SubItems.Add("1")
listviewitem.SubItems.Add("1800000")
listviewitem.SubItems.Add("1")
listviewitem.SubItems.Add("txt")
'listviewitem.SubItems.Add("数字化校园电子设备")
ListView1.Items.Add(listviewitem)
listviewitem = New ListViewItem
listviewitem.Text = "数字化校园电子设备"
'listviewitem.SubItems.Add("")
listviewitem.SubItems.Add("")
listviewitem.SubItems.Add("")
listviewitem.SubItems.Add("套")
listviewitem.SubItems.Add("1")
listviewitem.SubItems.Add("1800000")
listviewitem.SubItems.Add("1")
listviewitem.SubItems.Add("txt")
'listviewitem.SubItems.Add("数字化校园电子设备")
ListView1.Items.Add(listviewitem)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Panel1.Controls.Add(ComboBox1)
Try
If ListView1.SelectedItems.Count > 0 Then
ComboBox1.Width = ListView1.Columns(1).Width
ComboBox1.Height = imgList.ImageSize.Height
ComboBox1.Location = New Point(ListView1.SelectedItems(0).Position.X +
ListView1.Columns(0).Width, ListView1.SelectedItems(0).Position.Y)
ComboBox1.Visible = True
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub ListView1_Validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.Validated
Try
For Each item As ListViewItem In ListView1.SelectedItems
If Not item Is Nothing Then
item.BackColor = SystemColors.Highlight
item.ForeColor = Color.White
'ListView1.SelectedIndices.Add(item.Index)
End If
Next
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub ListView1_ItemSelectionChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ListViewItemSelectionChangedEventArgs) Handles ListView1.ItemSelectionChanged
Try
For Each item As ListViewItem In ListView1.Items
item.ForeColor = Color.Black
item.BackColor = SystemColors.Window
Next
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'e.Item.ForeColor = Color.Black
'e.Item.BackColor = SystemColors.Window
'If Not ListView1.FocusedItem Is Nothing Then
' ListView1.FocusedItem.Selected = True
'End If
End Sub
End Class
vb.net 中 listview 中编辑 可以用 ComboBox 选择编辑数据的更多相关文章
- 安卓中listview中性能优化的处理
1.在adapter中的getView方法中尽量少使用逻辑 不要在你的getView()中写过多的逻辑代码,我们能够将这些代码放在别的地方.比如: 优化前的getView(): @Override p ...
- 我的Android进阶之旅------>Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法
开发中常常需要自己定义Listview,去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点. 如果你的自定义Li ...
- 我的Android进阶之旅------>Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3V5YW5nX3Blbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- C#winform中ListView的使用
使用ListView模仿Windows系统的资源管理器界面,实现文件(夹)的浏览.重命名.删除及查询等功能,主要功能界面展示如下: 1.MainForm.cs及MainForm.Designer.cs ...
- BaseAdapter&ArrayAdapter在ListView中应用
一:BaseAdapter:共同实现的基类的适配器,是ArrayAdapter SimpleAdapter等的父类, 一般用于比较复杂的ListView,扩展性强. 详细信息可查看谷歌官方API:ht ...
- 【2017-04--28】Winform中ListView控件
ListView 1.先设置列,设置视图属性选择Details. 添加列,修改列名. 2.编辑项(添加行数据) 添加一个ListViewItem对象,该对象的Text对应着是第一列的数据, 在该对象的 ...
- Delphi在Listview中加入Edit控件
原帖 : http://www.cnblogs.com/hssbsw/archive/2012/06/03/2533092.html Listview是一个非常有用的控件,我们常常将大量的数据(如数据 ...
- Android中ListView实现图文并列并且自定义分割线(完善仿微信APP)
昨天的(今天凌晨)的博文<Android中Fragment和ViewPager那点事儿>中,我们通过使用Fragment和ViewPager模仿实现了微信的布局框架.今天我们来通过使用Li ...
- ListView中的setOnScrollListener
ListView是Android中最常用的控件之一,随着时代发展,RecyclerView有取代它的趋势,但是在一些老代码中,ListView依然扮演着重要的作用.项目中遇到一个需求,需要监听List ...
随机推荐
- VCS (版本控制系统)
1.什么是VCS? 版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.版本控制系统不仅可以应用于软件源代码的文本文件, ...
- java代码---继承-子类使用继承父类的属性。理解测试
总结:对于继承.如果父类有的成员变量而子类没有,那么子类的成员变量赋值是来自于父类的,当在子类构造方法赋值时,它和父类的成员变量值是一样的 当成员变量在父类和子类中都存在时,父类用父类的属性,子类用子 ...
- java中求利息的代码
总结:函数的重要性,懂得用哪一种函数 package com.badu; import java.util.Scanner; //输入存款金额 money.存期 year 和年利率 rate, //根 ...
- 生成器+列表生成式,生成器可以节省内存,随时调取函数运行,以及实现多线程运行函数,__next__()和.send(参数)的区别,a,b=b,a+b其实是元祖的用法,出现异常状态用try...except StopIteration来处理
列表生成式:是代码更简洁. 也可以是函数,比如func(i) 生成器:generator 列表生成式,是中括号,改成小括号,就是生成器: 如果你用列表生成式,生成一亿个数据:这里会卡好久,会生成一亿个 ...
- Angular2快速入门-1.创建第一个app
一.环境搭建 Angular2 运行在nodejs 环境下,需要我们先创建好nodejs环境,具体操作 1.下载安装Nodejs,参考网址,https://nodejs.org/en/ 选择64位 ...
- babel-polyfill使用简介
babel-polyfill介绍 简介 使用这个插件你可随心所欲的使用es6甚至更高版本的方法,这个插件自动转码 安装 这个插件必须在你的源码运行之前运行,所以必须安装成dependency npm ...
- transfrom-runtime文档
transfrom-runtime文档 babel只会默认对句法进行转换,而那些方法,api不会转换,要转就要使用polyfill和transform,这里介绍transform,关于polyfill ...
- 微信小程序之 wx.getUserInfo引导用户授权问题
首先,在page外定义一个函数用户判断是否为空对象 var isEmptyObject = function (e) { var temp; for (temp in e) ; } 然后,在page中 ...
- 1 响应式页面-@media介绍,
我们为什么要写自适应的页面(响应式页面) 众所周知,电脑.平板.手机的屏幕是差距很大的,假如在电脑上写好了一个页面,在电脑上看起来不错,但是如果放到手机上的话,那可能就会乱的一塌糊涂,这时候怎么解决呢 ...
- MYCAT实战之分片迁移
实践扩容 1.要求: travelrecord 表定义为10个分片,尝试将10个分片中的 2 个分片转移到第二台MySQL上, 并完成记录要求,最快的数据迁移做法,中断业务时间最短 2.针对分片以及迁 ...