CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

如何在Datagrid中的第一列输入货品的编码按回车后,自动在对应的行中显示其他信息

楼主kenways(kenways)2005-05-04 19:04:11 在 .NET技术 / VB.NET 提问

如何在Datagrid中的第一列输入货品的编码,按回车后,自动在其所在的行中显示其他信息如:货品价格,单位、类型等??????  
   
  我没分了,还请大家帮个忙 问题点数:20、回复次数:2Top

1 楼jsfeiyu(jszquan)回复于 2005-05-05 08:40:51 得分 20

Private   Sub   gridboxpartout(ByVal   sender   As   Object,   ByVal   e   As   System.EventArgs)  
                  If   opcode   <>   1   Then   Exit   Sub  
                  Dim   strsql   As   String  
                  Dim   ds   As   New   DataSet  
                  Dim   i   As   Integer  
                  Try  
                          If   Trim(Me.Datagrid1.Item(Me.Datagrid1.CurrentRowIndex,   1))   <>   ""   Then  
                                  strsql   =   "select   *   from   partitem_m   where   part_no='"   &   Trim(Me.Datagrid1.Item(Me.Datagrid1.CurrentRowIndex,   1))   &   "'"  
                                  Dim   da   As   New   SqlClient.SqlDataAdapter(strsql,   connstr)  
                                  da.Fill(ds)  
                                  If   ds.Tables(0).Rows.Count   >   0   Then  
                                          Me.txtname.Text   =   ds.Tables(0).Rows(0).Item("part_name")  
                                          Me.txtdesc.Text   =   ds.Tables(0).Rows(0).Item("part_desc")  
                                  Else  
                                          Me.txtname.Text   =   "新物料"  
                                          Me.txtdesc.Text   =   "新说明"  
                                  End   If  
                                  ds.Clear()  
                                  sqlstring   =   "select   isnull(debt_no,'')   as   debt_no,isnull(part_no,'')   as   part_no,isnull(debt_qty,0)   as   debt_qty,isnull(lot_no,'')   as   lot_no,isnull(set_qty,0)   as   set_qty,out_date,manuf_NO,prod_no,UNIT_QTY,io_code,dept_no,order_no,id   "   &   _  
                                                          "from   partout_t     where   part_no='"   &   Trim(Me.Datagrid1.Item(Me.Datagrid1.CurrentRowIndex,   1))   &   "'and   debt_qty>0   order   by   out_date"  
                                  dt_de.Clear()  
                                  Dim   dade   As   New   SqlClient.SqlDataAdapter(sqlstring,   connstr)  
                                  dade.Fill(dt_de)  
                                  dv_de   =   dt_de.DefaultView  
                                  curid   =   Me.Datagrid1.CurrentRowIndex  
                                  If   Me.Check1.Checked   =   True   Then  
                                  Else  
                                          strsql   =   "SELECT   top   1   debt_no   from   partout_t   where   part_no   =   '"   &   Trim(Me.Datagrid1.Item(Me.Datagrid1.CurrentRowIndex,   1))   &   "'   and   debt_qty>0   "  
                                          Dim   da1   As   New   SqlClient.SqlDataAdapter(strsql,   connstr)  
                                          da1.Fill(ds)  
                                          If   ds.Tables(0).Rows.Count   >   0   Then  
                                                  MsgBox("该物料欠料!!!",   MsgBoxStyle.OKOnly,   "提示")  
                                          End   If  
                                          ds.Clear()  
                                  End   If  
                                  Me.txtdebt1_no.Items.Clear()  
   
                                  For   i   =   0   To   dt_de.Rows.Count   -   1  
                                          Try  
                                                  Me.txtdebt1_no.Items.Add(dt_de.Rows(i).Item(0)   +   "|"   +   Microsoft.VisualBasic.Left(dt_de.Rows(i).Item(1)   +   "                     ",   10)   +   "|"   +   Microsoft.VisualBasic.Left(Str(dt_de.Rows(i).Item(2))   +   Space(10),   10)   +   "|"   +   Microsoft.VisualBasic.Left(dt_de.Rows(i).Item(3)   +   Space(10),   10)   +   "|"   +   Microsoft.VisualBasic.Left(Str(dt_de.Rows(i).Item(4))   +   Space(10),   10)   +   "|"   +   Microsoft.VisualBasic.Left(CStr(dt_de.Rows(i).Item(5))   +   Space(10),   10))  
                                          Catch   ex   As   Exception  
                                                  MsgBox(ex.Message)  
                                          End   Try  
                                  Next  
                                  strsql   =   "select   loct_no,stock_qty,unit   from   partstock_d   where   part_no=   '"   &   Trim(Me.Datagrid1.Item(Me.Datagrid1.CurrentRowIndex,   1))   &   "'"  
                                  Dim   da2   As   New   SqlClient.SqlDataAdapter(strsql,   connstr)  
                                  ds.Clear()  
                                  da2.Fill(ds)  
                                  If   ds.Tables(0).Rows.Count   >   0   Then  
                                          Me.Datagrid1.Item(Me.Datagrid1.CurrentRowIndex,   2)   =   ds.Tables(0).Rows(0).Item("loct_no")  
                                          Me.Datagrid1.Item(Me.Datagrid1.CurrentRowIndex,   3)   =   ds.Tables(0).Rows(0).Item("stock_qty")  
                                          Me.Datagrid1.Item(Me.Datagrid1.CurrentRowIndex,   6)   =   ds.Tables(0).Rows(0).Item("unit")  
                                          If   Trim(Me.Datagrid1.Item(Me.Datagrid1.CurrentRowIndex,   7))   =   ""   Then  
                                                  Me.Datagrid1.Item(Me.Datagrid1.CurrentRowIndex,   7)   =   "04"  
                                          End   If  
                                          dt.AcceptChanges()  
                                  End   If  
                          End   If  
                  Catch   ex   As   Exception  
                          MsgBox(ex.Message)  
                  End   Try  
          End   Sub  
   
   
  Private   Sub   initgrid()  
                  Dim   gtype   As   New   DataGridTableStyle  
                  gtype.AllowSorting   =   False  
                  gtype.MappingName   =   dt.TableName  
                  Dim   dc   As   New   DataGridTextBoxColumn  
                  dc.MappingName   =   "id"  
                  dc.HeaderText   =   "序号"  
                  dc.ReadOnly   =   True  
                  dc.Width   =   30  
                  gtype.GridColumnStyles.Add(dc)  
                  Dim   dc1   As   New   DataGridTextBoxColumn  
                  AddHandler   dc1.TextBox.Validated,   New   EventHandler(AddressOf   gridboxpartout)  
                  dc1.MappingName   =   "part_no"  
                  dc1.HeaderText   =   "Part_no"  
                  dc1.Width   =   70  
                  dc1.Alignment   =   HorizontalAlignment.Center  
                  gtype.GridColumnStyles.Add(dc1)  
                  Dim   dc2   As   New   DataGridTextBoxColumn  
                  dc2.MappingName   =   "loct_no"  
                  dc2.HeaderText   =   "库位"  
                  dc2.Width   =   70  
                  dc2.ReadOnly   =   True  
                  dc2.TextBox.Enabled   =   False  
                  dc2.Alignment   =   HorizontalAlignment.Center  
                  gtype.GridColumnStyles.Add(dc2)  
                  Dim   dc3   As   New   DataGridTextBoxColumn  
                  dc3.MappingName   =   "stockqty"  
                  dc3.HeaderText   =   "当时库存"  
                  dc3.Width   =   100  
                  dc3.Format   =   "0.00"  
                  dc3.ReadOnly   =   True  
                  dc3.TextBox.Enabled   =   False  
                  dc3.Alignment   =   HorizontalAlignment.Center  
                  gtype.GridColumnStyles.Add(dc3)  
                  Dim   dc4   As   New   DataGridTextBoxColumn  
                  AddHandler   dc4.TextBox.Validated,   New   EventHandler(AddressOf   gridboxunit)  
                  dc4.MappingName   =   "unit_qty"  
                  dc4.HeaderText   =   "单位用量"  
                  dc4.Alignment   =   HorizontalAlignment.Center  
                  dc4.Width   =   80  
                  gtype.GridColumnStyles.Add(dc4)  
                  Dim   dc5   As   New   DataGridTextBoxColumn  
                  dc5.MappingName   =   "out_qty"  
                  dc5.HeaderText   =   "出库数量"  
                  dc5.Width   =   100  
                  dc5.Format   =   "0.00"  
                  dc5.Alignment   =   HorizontalAlignment.Center  
                  gtype.GridColumnStyles.Add(dc5)  
                  Dim   dc6   As   New   DataGridTextBoxColumn  
                  dc6.MappingName   =   "unit"  
                  dc6.HeaderText   =   "单位"  
                  dc6.Width   =   50  
                  dc6.Alignment   =   HorizontalAlignment.Center  
                  gtype.GridColumnStyles.Add(dc6)  
                  Dim   dc7   As   New   DataGridTextBoxColumn  
                  dc7.MappingName   =   "io_code"  
                  dc7.HeaderText   =   "原因"  
                  dc7.Width   =   100  
                  gtype.GridColumnStyles.Add(dc7)  
                  dc7.Alignment   =   HorizontalAlignment.Center  
                  Dim   dc8   As   New   DataGridTextBoxColumn  
                  dc8.MappingName   =   "manuf_no"  
                  dc8.HeaderText   =   "生产/退料单号"  
                  dc8.Width   =   100  
                  dc8.Alignment   =   HorizontalAlignment.Center  
                  gtype.GridColumnStyles.Add(dc8)  
                  Dim   dc9   As   New   DataGridTextBoxColumn  
                  dc9.MappingName   =   "debt_no"  
                  dc9.HeaderText   =   "欠料单号"  
                  dc9.Width   =   100  
                  gtype.GridColumnStyles.Add(dc9)  
                  dc9.Alignment   =   HorizontalAlignment.Center  
                  Dim   dc10   As   New   DataGridTextBoxColumn  
                  dc10.MappingName   =   "debt_qty"  
                  dc10.HeaderText   =   "欠料数量"  
                  dc10.Format   =   "0.00"  
                  dc10.Width   =   100  
                  dc10.Alignment   =   HorizontalAlignment.Center  
                  gtype.GridColumnStyles.Add(dc10)  
                  gtype.AlternatingBackColor   =   Color.Lavender  
                  gtype.BackColor   =   Color.WhiteSmoke  
                  gtype.GridLineColor   =   Color.Gainsboro  
                  gtype.ForeColor   =   Color.MidnightBlue  
                  gtype.HeaderForeColor   =   Color.White  
                  gtype.HeaderBackColor   =   Color.RoyalBlue  
                  gtype.SelectionBackColor   =   Color.CadetBlue  
                  gtype.SelectionForeColor   =   Color.WhiteSmoke  
                  Me.Datagrid1.TableStyles.Add(gtype)  
          End   SubTop

2 楼jsfeiyu(jszquan)回复于 2005-05-05 08:41:54 得分 0

这个方法百试不爽!!!Top

相关问题

  • datagrid回车转行
  • 求所有按键的编码,例如回车的编码是#13
  • datagrid回车转行问题
  • 如何在datagrid中按回车操作
  • 回车?!
  • DATAGRID中如何回车下移到下一格?急急急!!!
  • 如何捕捉DataGrid中的DataGridTextBox输入的回车键?
  • 怎么编码实现往Datagrid中添加一个模板列
  • 怎么编码实现往Datagrid中添加一个模板列
  • DataGrid如何对显示的内容进行HTML编码?

关键词

  • me
  • ds
  • datagrid
  • 货品
  • debt
  • qty
  • currentrowindex
  • isnull
  • part
  • strsql

得分解答快速导航

  • 帖主:kenways
  • jsfeiyu

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo