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 ...
随机推荐
- 64位linux下rpm安装mysql的5.5.55版本
昨天同事开了个阿里云环境,让我帮他安装mysql数据库,本想着很简单的一件事,结果还是折腾了一番.坑很多,一路趟过,一个接一个,只能硬着头皮冲. 首先是下载压缩包,因为采用了rpm安装方式,所以下载的 ...
- STM8S103 PB4和PB5
STM8S103的PB4和PB5只能配置成开漏输出,用作I2C通讯: PB4和PB5不能配置为推挽输出,来控制LED之类的,因为内部没有上拉电阻,IO拉高电压只有1.8V左右,要想控制LED,只能通过 ...
- file_put_contents以及file_get_contents的用法与在使用过程中遇到的问题(PHP学习)
对数据的操作最基本的是增删改查,file_put_contents以及file_get_contents是对文件里的数据进行存入与取出. 先上代码: <?php $str = 'hello wo ...
- 使用 sysbench对mysql进行压力测试介绍之一
sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试.数据库目前支持MySQL/Oracle/PostgreSQL.本文只是简单演示一下几种测试的用 ...
- mysql 启动卡主,cpu 100%
[mysql@mysqlhq scripts]$ cat /etc/redhat-release Kylin Linux release 3.3.1707 (Core) mysql version S ...
- [置顶]
sscanf() - 从一个字符串中读进与指定格式相符的数据
在做一道九度上机题时,突然发现sscanf()函数非常有用,就顺便从网上搜集资料整理一下. sscanf() 的作用:从一个字符串中读进与指定格式相符的数据. 原型: int sscanf (cons ...
- 什么是闭包?在js中的作用是什么?
闭包就是讲函数内部生成的变量保存到内存中,进行下次调用:也可以说函数外不可以调用函数内部的变量: 当函数内部返回一个函数时,闭包搭建了方法内部与方法外部的桥梁,使得外部也可以任意的获取到方法内部的资源 ...
- python's twenty-sixth day for me 模块
configparser 模块: 该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键 = 值). 创建文件: # 创建文件 i ...
- java成神之——安全和密码
安全和密码 加密算法 公钥和私钥加密解密 生成私钥和公钥 加密数据 解密数据 公钥私钥生成的不同算法 密钥签名 生成加密随机数 基本用法 指定算法 加密对象 SealedObject Signatur ...
- pl/sql的to_char和to_date
今天同事让笔者将sql查询出来的时间转换为指定格式的字符串,笔者当时懵逼了,印象中记得有处理过,但就是一时想不起来了,等处理了这个问题后,笔者觉得有必要记录一下,毕竟不知道这个是很掉面子的事不是?好了 ...