Windows mobile 数据网格行/列筛选
我正在开发一个Windows mobile应用程序。如何在网格中仅显示数据表中12列中的两列 另外,是否可以删除Windows Mobile数据网格中的行 请提供示例代码Windows mobile 数据网格行/列筛选,windows-mobile,compact-framework,Windows Mobile,Compact Framework,我正在开发一个Windows mobile应用程序。如何在网格中仅显示数据表中12列中的两列 另外,是否可以删除Windows Mobile数据网格中的行 请提供示例代码 您好StartCass0830 感谢您的回复,我不想删除我的网格中的列,假设在windows mobile应用程序中,dtNewOrder表包含11列,我需要显示从dtNewOrder到datagrid的特定字段 另一个问题是datagrid包含10行,我是如何删除网格中的某些行的 请给我样本代码;我已经为这个问题挣扎了几天
您好StartCass0830 感谢您的回复,我不想删除我的网格中的列,假设在windows mobile应用程序中,dtNewOrder表包含11列,我需要显示从dtNewOrder到datagrid的特定字段 另一个问题是datagrid包含10行,我是如何删除网格中的某些行的 请给我样本代码;我已经为这个问题挣扎了几天 以下是我所拥有的:
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
谢谢
你的问题有点问题。您提到网格中有2列,datatable中有12列,您想删除行 我认为你指的是列而不是行。当您将数据绑定到网格时,您可以指定所需网格中的哪些列。不需要删除列
在这种情况下,您实际上是指行,您可以修改SQL或LINQ查询以删除那些不需要的行。@StartClass0830:FYI,OP已经发布了一个澄清。当我把它移到问题上时,希望我没有弄坏它。