从DataGrid中添加或删除项目 - vb.net compact framework

问题描述:

我正在开发一个项目,允许用户使用Windows Mobile设备的手持设备获得订单。我使用datagrid来显示现有订单,并希望通过单击按钮来添加项目,或者通过从数据网格中选择来删除项目以更改订单。因此,请你们帮我弄清楚处理现有数据库项目的最佳方式。提前致谢。从DataGrid中添加或删除项目 - vb.net compact framework

到目前为止我的代码,

从数据库

Public Shared Function MenuItems(ByVal groupNo As Integer) As List(Of Menus) 
    Dim cmd As New SqlCommand("", Ayar.baglanti) 
    Dim menuItem As New List(Of Menus) 

    Try 
     cmd.CommandText = "SELECT ToppingAutoID, BasePrice, ToppingName, PrinterName, Special, Normal, Irregular," & _ 
      " NavigationID, ModifiersCharge, taxRate, JustNavigate, Terminator, ItemQuantity, ExtraCharge, TripleCharge, " & _ 
      " HalfCharge, OneThirdCharge, OneForthCharge, NoDiscountItem FROM MenuToppings WHERE GroupID = @groupID" 
     cmd.Parameters.AddWithValue("@groupID", groupNo) 
     Dim data As New DataSet 
     data.Load(cmd.ExecuteReader, LoadOption.OverwriteChanges, "menuitem") 
     Dim dt As DataTable = data.Tables("menuitem") 
     '' 
     For Each r As DataRow In dt.Rows 
      Dim item As New Menus 
      item.Toppingautoid = r("ToppingAutoID") 
      item.Baseprice = r("BasePrice") 
      item.Toppingname = r("ToppingName") 
      item.Itemquantity = r("ItemQuantity") 
      menuItem.Add(item) 
     Next 
    Catch ex As Exception 
     log.log("MenuItem()fonksiyonunda hata oluştu.", ex.Message) 
    End Try 
    MenuItems = menuItem 
End Function 

获取现有的订单清单上的DataGrid现有秩序

Public Function siparisGoster()   
    Dim isModifed As Boolean = False 

    Dim skl As New DataGridTableStyle 
    Dim kolon1, kolon2, kolon3 As New DataGridTextBoxColumn 
    kolon1.MappingName = "Itemno" 
    kolon1.HeaderText = "MADAKAFA" 
    kolon1.Width = -1 

    kolon2.MappingName = "Itemdesc" 
    kolon2.Width = 300 

    kolon3.MappingName = "Itemamount" 
    kolon3.Width = 10 

    skl.GridColumnStyles.Add(kolon1) 
    skl.GridColumnStyles.Add(kolon2) 
    skl.GridColumnStyles.Add(kolon3) 

    If isModifed = False Then 
     Dim ord As Order = Order.GetTableOrder(tableNo) 

     Dim bs As New BindingSource 
     bs.DataSource = ord.GetOrderItems 
     skl.MappingName = bs.GetListName(Nothing) 
     DataGridItems.BackColor = Color.White 
     DataGridItems.ColumnHeadersVisible = False 
     DataGridItems.RowHeadersVisible = False 

     DataGridItems.TableStyles.Clear() 
     DataGridItems.TableStyles.Add(skl) 
     DataGridItems.DataSource = bs 

    End If 

End Function 

姚建雄描述两个,一个手动和自动,在 - 在编程Compact Framework(可用VB.NET和C#版本)的书中进行编辑。你可以在http://www.paulyao.com/cfbook/code登记,以获得第8章

摘录的代码:

Private Sub cmdEdit_Click(ByVal sender As System.Object, _ 
          ByVal e As System.EventArgs _ 
          ) _ 
          Handles cmdEdit.Click 
     With dgrdProjects.CurrentCell 
     ' Check the DataSource's column's name 
     '  If it is "ctTasks", do not update. 
     If dgrdProjects.TableStyles("Projects"). _ 
          GridColumnStyles(.ColumnNumber). _ 
           MappingName = "ctTasks" Then 
      MessageBox.Show(_ 
       "Count of tasks only changes as the " & _ 
       "result of adding/removing a task.") 
      Exit Sub 
     End If 
     ' Position textEdit for in-place editing. 
     textEdit.Bounds = dgrdProjects.GetCellBounds _ 
           (.RowNumber, .ColumnNumber) 
     ' Load the CurrentCell's value into textEdit. 
     textEdit.Text = dgrdProjects.Item _ 
           (.RowNumber, .ColumnNumber) 
     ' Highlight the text. 
     textEdit.SelectAll() 
     ' Show textEdit and set the focus to it. 
     textEdit.Visible = True 
     textEdit.Focus() 
     End With 
     ' Set Form GUI state to "Editing". 
     Me.SetEditingState(True) 
    End Sub 
    ... 
    Private Sub cmdUpdate_Click(ByVal sender As System.Object, _ 
           ByVal e As System.EventArgs _ 
           ) _ 
           Handles cmdUpdate.Click 
     ' Move the contents of textEdit 
     '  into the CurrentCell 
     With dgrdProjects 
     .Item(.CurrentCell.RowNumber, _ 
       .CurrentCell.ColumnNumber) = textEdit.Text 
     End With 
     ' Set Form GUI state to "Not Editing". 
     Me.SetEditingState(False) 
    End Sub 

这本书是非常值得购买。这是我最喜欢的CF首发之一。