2016-02-17 87 views
-3

你好,我想這個代碼轉換成VCL德爾福:如何將此代碼轉換成的DevExpress VCL爲Delphi

// Create an empty list. 
ArrayList rows = new ArrayList(); 
// Add the selected rows to the list. 
for (int i = 0; i < gridView1.SelectedRowsCount; i++) { 
    if (gridView1.GetSelectedRows()[i] >= 0) 
     rows.Add(gridView1.GetDataRow(gridView1.GetSelectedRows()[i])); 
} 
try { 
    gridView1.BeginUpdate(); 
    for (int i = 0; i < rows.Count; i++) { 
     DataRow row = rows[i] as DataRow; 
     // Change the field value. 
     row["Discontinued"] = true;        
    } 
} 
finally { 
    gridView1.EndUpdate(); 
} 

我試圖做同樣的,但在VCL沒有SelectedRowsCount或GetSelectedRows在哪裏可以發現雖然?

+5

堆棧溢出不是一個代碼轉換服務.. – stuartd

+0

如果有人到VCL會知道如何把這段代碼轉換。我無法在gridview中找到這些方法 – ververicka

+0

該組件是否不附帶文檔? – stuartd

回答

2

只要你做什麼程序,你在找什麼: 發件人是你的gridView1和isConnected是你的列的值。

procedure TForm1.ChangeColumn(Sender: TcxCustomGridTableView; isConnected: boolean); 
var i: integer; AColumn: TcxCustomGridTableItem; 
begin 
    if ((TcxGridDBTableView(Sender).Controller.SelectedRecordCount=0) 
    or (TcxGridDBTableView(Sender).Controller.SelectedRecords[0] = nil)) 
    then exit; 

    AColumn:= TcxGridDBTableView(Sender).GetColumnByFieldName('Discontinued'); 
    if AColumn = nil then exit; 

    TcxGridDBTableView(Sender).DataController.BeginFullUpdate; 
    try 
    for i:= 0 to TcxGridDBTableView(Sender).Controller.SelectedRecordCount-1 do 
    begin 
     TcxGridDBTableView(Sender).Controller.SelectedRecords[i].Values[AColumn.index] := isConnected; 
    end; 

    finally 
    TcxCustomGridTableView(Sender).DataController.EndFullUpdate; 
    end; 
end; 
+0

非常感謝 – ververicka