I am developing a Windows mobile application. How can I show only two columns of the twelve in my datatable in the grid?.
Also, is it possible to delete rows in the Windows Mobile datagrid?
Please provide sample code.
Hi StartClass0830,
Thanks for your reply, i don’t want remove the columns in my grid, Let’s say In the windows mobile application the dtNewOrder table contains 11 columns i need to display the certain fields from dtNewOrder to the datagrid.
And another question is the datagrid contains 10 rows how i am deleting the certain rows in the grid.
Please give me sample code; I have been struggling with this problem for a couple of days.
Here is what I have:
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
Thanks brite
Your question is somewhat problematic. You mentioned 2 columns in your grid and 12 columns in your datatable and you want to delete ROWS!
I take it you mean COLUMNS instead of ROWS. When you do data-binding to your grid, you can specify which columns in the 12 you want. There is no need to delete columns.
In the event, you REALLY mean ROWS, you can modify your SQL or LINQ queries to have those unwanted ROWS removed.