2009-03-28 5 views
1

私はWindowsモバイルアプリケーションを開発しています。グリッドのデータテーブルに12列のうちの2列だけを表示するにはどうすればよいですか。DataGrid行/列フィルタリング

また、Windows Mobile DataGridの行を削除することはできますか?

サンプルコードを入力してください。


こんにちはStartClass0830、ご返信用

おかげで、私は特定のを表示する必要があるのは、モバイルアプリケーションがdtNewOrderテーブルには11個の列を含むWindowsで言ってみましょう、私のグリッド内の列を削除したくありませんdtNewOrderからDataGridへのフィールド。

もう1つの質問は、グリッド内の特定の行を削除する方法を10行含むdatagridです。

サンプルコードを教えてください。私は数日間この問題に苦しんでいます。ここで

は私が持っているものです。

Imports System.Data 
Imports System.Text 
Imports System.IO 
Imports System.Data.SqlServerCe 

Dim dtCustomerName As DataTable 
Dim dtNewOrder As DataTable 
Dim _objDataAccess As New DataAccess 

Private Sub NewOrder_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

     dtNewOrder = CreateNewOrderDataTable() 
End Sub 

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click 
    AddNewOrderMember(dtNewOrder) 
End Sub 

Private Sub AddNewOrderMember(ByVal dtNewOrder As DataTable) 
     Try 
      Dim NewOrderMemberRow As DataRow = dtNewOrder.NewRow() 
      NewOrderMemberRow("OrderID") = System.Guid.NewGuid() 
      NewOrderMemberRow("SalesPersonID") = "123" 
      NewOrderMemberRow("CustomerGroupID") = ddlCutomerGroup.SelectedValue.ToString() 
      NewOrderMemberRow("CustomerID") = ddlCustomerName.SelectedValue.ToString() 
      NewOrderMemberRow("CustomerItemCode") = "123" 
      NewOrderMemberRow("Category") = "Dummy Category" 
      'NewOrderMemberRow("Description") = "Dummy Des" 
      NewOrderMemberRow("OrderUnit") = "Each" 
      NewOrderMemberRow("OrderQuantity") = txtOrderQuantity.Text 
      NewOrderMemberRow("UnitPrice") = "123" 
      NewOrderMemberRow("TotalAmount") = "30000" 
      dtNewOrder.Rows.Add(NewOrderMemberRow) 
      dtNewOrder.AcceptChanges() 

      If dtNewOrder.Rows.Count > 0 Then 
       dgNewOrder.DataSource = dtNewOrder 
      End If 

     Catch ex As Exception 
      MessageBox.Show(ex.Message, "Mobile Retail Merchandising", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) 
     End Try 
    End Sub 


Private Function CreateNewOrderDataTable() As DataTable 

     dtNewOrder = New DataTable("NewOrder") 
     Try 
      dtNewOrder.Columns.Add(New DataColumn("OrderID", Type.GetType("System.String"))) 
      dtNewOrder.Columns.Add(New DataColumn("SalesPersonID", Type.GetType("System.String"))) 
      dtNewOrder.Columns.Add(New DataColumn("CustomerGroupID", Type.GetType("System.String"))) 
      dtNewOrder.Columns.Add(New DataColumn("CustomerID", Type.GetType("System.String"))) 
      dtNewOrder.Columns.Add(New DataColumn("CustomerItemCode", Type.GetType("System.String"))) 
      dtNewOrder.Columns.Add(New DataColumn("Category", Type.GetType("System.String"))) 
      dtNewOrder.Columns.Add(New DataColumn("Description", Type.GetType("System.String"))) 
      dtNewOrder.Columns.Add(New DataColumn("OrderUnit", Type.GetType("System.String"))) 
      dtNewOrder.Columns.Add(New DataColumn("OrderQuantity", Type.GetType("System.String"))) 
      dtNewOrder.Columns.Add(New DataColumn("UnitPrice", Type.GetType("System.String"))) 
      dtNewOrder.Columns.Add(New DataColumn("TotalAmount", Type.GetType("System.String"))) 

      Dim PrimaryKeyColumns() As DataColumn = New DataColumn(1) {} 
      PrimaryKeyColumns(0) = dtNewOrder.Columns("OrderID") 
      dtNewOrder.PrimaryKey = PrimaryKeyColumns 
      Return dtNewOrder 
     Catch ex As Exception 
      MessageBox.Show(ex.Message, "Mobile Retail Merchandising", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) 
      Return dtNewOrder 
     End Try 
    End Function 

おかげ ブライト

答えて

0

ご質問はやや問題があります。グリッド内に2列、データテーブル内に12列を記述し、ROWSを削除するとします。

私はROWSではなくCOLUMNSを意味します。グリッドへのデータバインディングを行うときに、必要な列を指定することができます。列を削除する必要はありません。

この場合、あなたは本当にROWSを意味します.SQLまたはLINQクエリを修正して、不要なROWSを削除することができます。

+0

@ StartClass0830:FYI、OPが明確化を掲載しました。それは私が質問に移動したときにうまくいけば、私は混乱していない。 – derobert

関連する問題