2014-01-31 57 views
1

我正在開發一個項目,允許用戶使用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 

回答

0

姚建雄描述兩個,一個手動和自動,在 - 在編程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首發之一。

相關問題