1. Public Class ModifyLineData
  2.  
  3. Dim mousePos As Point
  4. Dim pubListviewitem As ListViewItem
  5. Dim imgList As ImageList
  6. Dim pubParent As FrmInvoiceList
  7. Public Sub InitDataLine(ByVal dr As IDataReader, ByVal argTaxTypeStr As String, ByVal tax_rate As String, ByRef argParentForm As FrmInvoiceList)
  8. pubParent = argParentForm
  9.  
  10. Dim listviewitem As ListViewItem
  11.  
  12. ListView1.Items.Clear()
  13. ListView1.View = View.Details
  14.  
  15. While dr.Read()
  16. listviewitem = New ListViewItem
  17.  
  18. listviewitem.Text = dr("list_goods_name").ToString() '""
  19.  
  20. 'listviewitem.SubItems.Add(dr("list_goods_name").ToString())
  21. listviewitem.SubItems.Add(dr("list_tax_item").ToString())
  22. listviewitem.SubItems.Add(dr("list_standard").ToString())
  23. listviewitem.SubItems.Add(dr("list_unit").ToString())
  24. listviewitem.SubItems.Add(dr("list_number").ToString())
  25. listviewitem.SubItems.Add(dr("list_price").ToString())
  26. listviewitem.SubItems.Add(dr("list_price_kind").ToString())
  27. 'listviewitem.SubItems.Add(dr("list_goods_name").ToString())
  28. listviewitem.SubItems.Add(argTaxTypeStr)
  29. listviewitem.SubItems.Add(tax_rate)
  30.  
  31. ListView1.Items.Add(listviewitem)
  32.  
  33. End While
  34.  
  35. dr.Close()
  36.  
  37. End Sub
  38.  
  39. Private Sub ModifyLineData_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  40.  
  41. 'Common.DisableCloseButton(Me)
  42.  
  43. mousePos = New Point(0, 0)
  44.  
  45. imgList = New ImageList()
  46. imgList.ImageSize = New Size(1, 20)
  47. ListView1.SmallImageList = imgList
  48. ListView1.GridLines = True
  49. ListView1.Controls.Add(ComboBox1)
  50.  
  51. 'ListView1.View = View.Details
  52. 'ListView1.Items.Clear()
  53. 'inittest()
  54.  
  55. Dim tmpDt As DataTable = New DataTable
  56.  
  57. tmpDt = ExcelHelper.ImportExcel(Application.StartupPath + "\InvoiceType.xls")
  58.  
  59. ComboBox1.Items.Clear()
  60.  
  61. For i As Int32 = 0 To tmpDt.Rows.Count - 1
  62.  
  63. ComboBox1.Items.Add(tmpDt.Rows(i)("税收编码") + "||" + tmpDt.Rows(i)("商品和服务名称"))
  64.  
  65. Next
  66.  
  67. End Sub
  68.  
  69. Private Sub ListView1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseMove
  70.  
  71. mousePos.X = e.X
  72. mousePos.Y = e.Y
  73.  
  74. End Sub
  75.  
  76. Private Sub ListView1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDoubleClick
  77.  
  78. pubListviewitem = ListView1.GetItemAt(mousePos.X, mousePos.Y)
  79.  
  80. ComboBox1.Text = pubListviewitem.SubItems(1).Text
  81.  
  82. ComboBox1.Width = ListView1.Columns(1).Width
  83. ComboBox1.Height = imgList.ImageSize.Height
  84.  
  85. ComboBox1.Location = New Point(pubListviewitem.Position.X + ListView1.Columns(0).Width, pubListviewitem.Position.Y)
  86. ComboBox1.Visible = True
  87.  
  88. End Sub
  89.  
  90. Private Sub ComboBox1_SelectedValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedValueChanged
  91.  
  92. changeName()
  93.  
  94. End Sub
  95.  
  96. Private Sub changeName()
  97.  
  98. ComboBox1.Text = ComboBox1.Text.Split("||")(0)
  99. For Each item As ListViewItem In ListView1.SelectedItems
  100. item.SubItems(1).Text = ComboBox1.Text
  101. 'pubListviewitem.Text = ComboBox1.Text
  102. 'pubListviewitem.SubItems(1).Text = pubListviewitem.Text + pubListviewitem.SubItems(8).Text
  103. ComboBox1.Visible = False
  104. Next
  105.  
  106. End Sub
  107.  
  108. Private Sub ListView1_AfterLabelEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LabelEditEventArgs) Handles ListView1.AfterLabelEdit
  109. 'pubListviewitem.SubItems(1).Text = pubListviewitem.Text + pubListviewitem.SubItems(8).Text
  110. End Sub
  111.  
  112. Private Sub ButtonConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonYes.Click
  113.  
  114. Me.ButtonYes.DialogResult = DialogResult.No
  115.  
  116. Dim listPriceKind As Integer
  117.  
  118. ' Dim listNumber As Integer
  119. Dim listNumber As System.Decimal
  120. Dim listPrice As System.Decimal
  121. 'Dim taxOffPrice As System.Decimal
  122. Dim taxOffAmount As System.Decimal
  123. Dim totalAmount As System.Decimal
  124. Dim tax_rate As Integer
  125.  
  126. '税收分类编码需要的变量
  127. 'Dim contractAttr As String = ""
  128. Dim taxTypeStr As String
  129. Dim taxResStr As String = ""
  130.  
  131. For Each item As ListViewItem In ListView1.Items
  132.  
  133. Me.ButtonYes.DialogResult = DialogResult.Yes
  134.  
  135. Call pubParent.mObjTaxCardX.InvListInit()
  136.  
  137. taxTypeStr = item.SubItems(7).Text
  138.  
  139. pubParent.mObjTaxCardX.ListGoodsName = item.SubItems(0).Text
  140.  
  141. pubParent.mObjTaxCardX.ListTaxItem = item.SubItems(1).Text
  142. pubParent.mObjTaxCardX.ListStandard = item.SubItems(2).Text
  143. pubParent.mObjTaxCardX.ListUnit = item.SubItems(3).Text
  144.  
  145. listNumber = System.Decimal.Parse(item.SubItems(4).Text)
  146. 'listNumber = CInt(dr("list_number"))
  147. listPrice = System.Decimal.Parse(item.SubItems(5).Text)
  148. totalAmount = Decimal.Round(Decimal.Multiply(listPrice, listNumber), 2)
  149.  
  150. pubParent.mObjTaxCardX.ListNumber = listNumber
  151.  
  152. listPriceKind = CInt(item.SubItems(6).Text)
  153. If listPriceKind = 1 Then
  154. 'taxOffPrice = Decimal.Divide(Decimal.Truncate(Decimal.Divide(listPrice, 0.0117)), 100)
  155. 'taxOffPrice = Decimal.Divide(listPrice, 1.17)
  156. tax_rate = CInt(item.SubItems(8).Text)
  157. Dim tax_rate_pre As Decimal = 1 + tax_rate * 0.01
  158. taxOffAmount = Decimal.Round(Decimal.Divide(totalAmount, tax_rate_pre), 2)
  159. listPriceKind = 0
  160. Else
  161. listPriceKind = 0
  162. End If
  163.  
  164. 'mObjTaxCardX.ListPrice = Decimal.ToDouble(taxOffPrice)
  165. 'mObjTaxCardX.ListAmount = Decimal.ToDouble(Decimal.Multiply(taxOffPrice, listNumber))
  166. 'mObjTaxCardX.ListTaxAmount = Decimal.ToDouble(Decimal.Multiply(Decimal.Subtract(listPrice, taxOffPrice), listNumber))
  167. pubParent.mObjTaxCardX.ListAmount = taxOffAmount
  168. pubParent.mObjTaxCardX.ListTaxAmount = Decimal.Subtract(totalAmount, taxOffAmount)
  169.  
  170. 'MessageBox.Show( String.Format("listPrice:{0},listNumber:{1},totalAmount:{2},taxOffAmount:{3}, taxOffAmount:{4}", listPrice, listNumber, totalAmount, taxOffAmount, Decimal.Subtract(totalAmount, taxOffAmount)))
  171.  
  172. '将税收分类编码通过BatchUpload传递过去。taxResStr是接收的返回结果,有问题,调试可用来看
  173. taxResStr = pubParent.mObjTaxCardX.BatchUpload(taxTypeStr)
  174.  
  175. Call pubParent.mObjTaxCardX.AddInvList()
  176.  
  177. Next
  178.  
  179. Close()
  180.  
  181. End Sub
  182.  
  183. Private Sub ButtonClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonNo.Click
  184.  
  185. Me.ButtonYes.DialogResult = DialogResult.No
  186. Close()
  187.  
  188. End Sub
  189.  
  190. Private Sub ComboBox1_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.Leave
  191. changeName()
  192. End Sub
  193.  
  194. Private Sub ModifyLineData_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
  195. Return
  196. End Sub
  197.  
  198. Private Sub inittest()
  199. Dim listviewitem As ListViewItem
  200.  
  201. listviewitem = New ListViewItem
  202. listviewitem.Text = "数字化校园电子设备"
  203. 'listviewitem.SubItems.Add("")
  204. listviewitem.SubItems.Add("")
  205. listviewitem.SubItems.Add("")
  206. listviewitem.SubItems.Add("套")
  207. listviewitem.SubItems.Add("1")
  208. listviewitem.SubItems.Add("1800000")
  209. listviewitem.SubItems.Add("1")
  210. listviewitem.SubItems.Add("txt")
  211. 'listviewitem.SubItems.Add("数字化校园电子设备")
  212. ListView1.Items.Add(listviewitem)
  213.  
  214. listviewitem = New ListViewItem
  215. listviewitem.Text = "数字化校园电子设备"
  216. 'listviewitem.SubItems.Add("")
  217. listviewitem.SubItems.Add("")
  218. listviewitem.SubItems.Add("")
  219. listviewitem.SubItems.Add("套")
  220. listviewitem.SubItems.Add("1")
  221. listviewitem.SubItems.Add("1800000")
  222. listviewitem.SubItems.Add("1")
  223. listviewitem.SubItems.Add("txt")
  224. 'listviewitem.SubItems.Add("数字化校园电子设备")
  225.  
  226. ListView1.Items.Add(listviewitem)
  227. End Sub
  228.  
  229. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  230. 'Panel1.Controls.Add(ComboBox1)
  231. Try
  232. If ListView1.SelectedItems.Count > 0 Then
  233.  
  234. ComboBox1.Width = ListView1.Columns(1).Width
  235. ComboBox1.Height = imgList.ImageSize.Height
  236.  
  237. ComboBox1.Location = New Point(ListView1.SelectedItems(0).Position.X +
  238. ListView1.Columns(0).Width, ListView1.SelectedItems(0).Position.Y)
  239. ComboBox1.Visible = True
  240.  
  241. End If
  242. Catch ex As Exception
  243. MessageBox.Show(ex.Message)
  244.  
  245. End Try
  246.  
  247. End Sub
  248.  
  249. Private Sub ListView1_Validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.Validated
  250.  
  251. Try
  252. For Each item As ListViewItem In ListView1.SelectedItems
  253. If Not item Is Nothing Then
  254. item.BackColor = SystemColors.Highlight
  255. item.ForeColor = Color.White
  256. 'ListView1.SelectedIndices.Add(item.Index)
  257. End If
  258. Next
  259. Catch ex As Exception
  260. MessageBox.Show(ex.Message)
  261. End Try
  262.  
  263. End Sub
  264.  
  265. Private Sub ListView1_ItemSelectionChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ListViewItemSelectionChangedEventArgs) Handles ListView1.ItemSelectionChanged
  266. Try
  267. For Each item As ListViewItem In ListView1.Items
  268. item.ForeColor = Color.Black
  269. item.BackColor = SystemColors.Window
  270. Next
  271. Catch ex As Exception
  272. MessageBox.Show(ex.Message)
  273. End Try
  274.  
  275. 'e.Item.ForeColor = Color.Black
  276. 'e.Item.BackColor = SystemColors.Window
  277.  
  278. 'If Not ListView1.FocusedItem Is Nothing Then
  279. ' ListView1.FocusedItem.Selected = True
  280. 'End If
  281.  
  282. End Sub
  283.  
  284. End Class

vb.net 中 listview 中编辑 可以用 ComboBox 选择编辑数据的更多相关文章

  1. 安卓中listview中性能优化的处理

    1.在adapter中的getView方法中尽量少使用逻辑 不要在你的getView()中写过多的逻辑代码,我们能够将这些代码放在别的地方.比如: 优化前的getView(): @Override p ...

  2. 我的Android进阶之旅------>Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法

    开发中常常需要自己定义Listview,去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点. 如果你的自定义Li ...

  3. 我的Android进阶之旅------>Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3V5YW5nX3Blbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  4. C#winform中ListView的使用

    使用ListView模仿Windows系统的资源管理器界面,实现文件(夹)的浏览.重命名.删除及查询等功能,主要功能界面展示如下: 1.MainForm.cs及MainForm.Designer.cs ...

  5. BaseAdapter&ArrayAdapter在ListView中应用

    一:BaseAdapter:共同实现的基类的适配器,是ArrayAdapter SimpleAdapter等的父类, 一般用于比较复杂的ListView,扩展性强. 详细信息可查看谷歌官方API:ht ...

  6. 【2017-04--28】Winform中ListView控件

    ListView 1.先设置列,设置视图属性选择Details. 添加列,修改列名. 2.编辑项(添加行数据) 添加一个ListViewItem对象,该对象的Text对应着是第一列的数据, 在该对象的 ...

  7. Delphi在Listview中加入Edit控件

    原帖 : http://www.cnblogs.com/hssbsw/archive/2012/06/03/2533092.html Listview是一个非常有用的控件,我们常常将大量的数据(如数据 ...

  8. Android中ListView实现图文并列并且自定义分割线(完善仿微信APP)

    昨天的(今天凌晨)的博文<Android中Fragment和ViewPager那点事儿>中,我们通过使用Fragment和ViewPager模仿实现了微信的布局框架.今天我们来通过使用Li ...

  9. ListView中的setOnScrollListener

    ListView是Android中最常用的控件之一,随着时代发展,RecyclerView有取代它的趋势,但是在一些老代码中,ListView依然扮演着重要的作用.项目中遇到一个需求,需要监听List ...

随机推荐

  1. 64位linux下rpm安装mysql的5.5.55版本

    昨天同事开了个阿里云环境,让我帮他安装mysql数据库,本想着很简单的一件事,结果还是折腾了一番.坑很多,一路趟过,一个接一个,只能硬着头皮冲. 首先是下载压缩包,因为采用了rpm安装方式,所以下载的 ...

  2. STM8S103 PB4和PB5

    STM8S103的PB4和PB5只能配置成开漏输出,用作I2C通讯: PB4和PB5不能配置为推挽输出,来控制LED之类的,因为内部没有上拉电阻,IO拉高电压只有1.8V左右,要想控制LED,只能通过 ...

  3. file_put_contents以及file_get_contents的用法与在使用过程中遇到的问题(PHP学习)

    对数据的操作最基本的是增删改查,file_put_contents以及file_get_contents是对文件里的数据进行存入与取出. 先上代码: <?php $str = 'hello wo ...

  4. 使用 sysbench对mysql进行压力测试介绍之一

    sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试.数据库目前支持MySQL/Oracle/PostgreSQL.本文只是简单演示一下几种测试的用 ...

  5. mysql 启动卡主,cpu 100%

    [mysql@mysqlhq scripts]$ cat /etc/redhat-release Kylin Linux release 3.3.1707 (Core) mysql version S ...

  6. [置顶] sscanf() - 从一个字符串中读进与指定格式相符的数据

    在做一道九度上机题时,突然发现sscanf()函数非常有用,就顺便从网上搜集资料整理一下. sscanf() 的作用:从一个字符串中读进与指定格式相符的数据. 原型: int sscanf (cons ...

  7. 什么是闭包?在js中的作用是什么?

    闭包就是讲函数内部生成的变量保存到内存中,进行下次调用:也可以说函数外不可以调用函数内部的变量: 当函数内部返回一个函数时,闭包搭建了方法内部与方法外部的桥梁,使得外部也可以任意的获取到方法内部的资源 ...

  8. python's twenty-sixth day for me 模块

    configparser 模块: 该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键 = 值). 创建文件: # 创建文件 i ...

  9. java成神之——安全和密码

    安全和密码 加密算法 公钥和私钥加密解密 生成私钥和公钥 加密数据 解密数据 公钥私钥生成的不同算法 密钥签名 生成加密随机数 基本用法 指定算法 加密对象 SealedObject Signatur ...

  10. pl/sql的to_char和to_date

    今天同事让笔者将sql查询出来的时间转换为指定格式的字符串,笔者当时懵逼了,印象中记得有处理过,但就是一时想不起来了,等处理了这个问题后,笔者觉得有必要记录一下,毕竟不知道这个是很掉面子的事不是?好了 ...