2012-12-05 96 views
0

我忙於使用Windows Embedded CE 5.0移動應用程序。我現在有點卡住了。我正在使用數據的數據網格。我想添加一個額外的列到網格中(已經這樣做了,我從double中添加了null)。現在在應用程序中,我希望用戶能夠更改該字段的值(一個包中有多少個單元)。Windows Embedded CE 5.0移動應用程序Gridview C#

這是我爲DataGrid代碼:

private void gridView() 
    { 
     conn.Open(); 
     string query = "select distinct s.sku_id_no SKU_id, (pt.product_type_desc|| ' ' ||ps.prod_size_desc|| ' ' ||c.colour_desc) Product_Desc, null Pack_Units from sku s , product_type pt , prod_size ps , colour c , purch_order_carton_sku pocs, purch_order_carton_sku poc, dual where pocs.order_no ='" + this.orderCode + "' and pocs.carton_code ='" + this.cartonCode + "' and pocs.sku_id_no = s.sku_id_no and s.prod_size_id_no = ps.prod_size_id_no(+) and s.colour_id_no = c.colour_id_no(+)"; 
     OracleDataAdapter da = new OracleDataAdapter(query, conn); 
     OracleDataSet ds = new OracleDataSet(); 
     da.Fill(ds); 
     dgSku.DataSource = ds.Tables[0]; 
    { 

然後我打電話網格時,屏幕上的負荷是這樣的:

private void frmCartonContentVerification_Load(object sender, EventArgs e) 
    { 
     gridView(); 
    } 

enter image description here

所以上面是怎麼看的時刻。因此,當用戶例如點擊Pack_Units的第一個字段時,我希望他們能夠編輯該字段。

目標是當他們點擊NEXT按鈕時,驗證程序必須運行並檢查是否正確。所以如果有人能夠告訴我如何從選擇字段獲取值,那將會很棒?

即時通訊使用Oracle數據庫與VS 2005 c#。

在此先感謝!

回答

1

爲了得到當前選定單元格的值(假設dgSku是你的DataGrid):

var value = dgSku[dgSku.CurrentCell.RowNumber, dgSku.CurrentCell.ColumnNumber]; 

爲了能夠編輯場....恐怕解決方案是相當痛苦的。你需要的是一個由TextBox組成的列,而且由於.NETCF只提供了一部分桌面等效功能,你必須自己創建一個。看看herehere,這應該會給你一個很好的起點。

0

StaWho是對的,CF不支持內聯編輯。 Paul Yao在他的書「編程.Net精簡框架」中有一個很好的解決方案。

另一個解決方法是將一個文本字段添加到窗體並使用網格單擊事件來顯示和更改Pack_Units列的值以進行編輯。

相關問題