1

Я работаю над проектом, который позволяет пользователям получать заказ в ресторане с карманным компьютером, который является мобильным устройством для Windows. Я использовал datagrid для отображения существующего заказа и хотел добавить элемент, нажав кнопку или удалив элемент, выбрав из 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 

Листинг существующего порядка на сетке

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.

 Смежные вопросы

  • Нет связанных вопросов^_^