2017-02-23 45 views
0

我是VB.Net編碼器,而是試圖接近C#編程
在VB.NET我可以寫這樣的,沒有任何麻煩填充的DataGridView行從數據表中的行通過手動映射列

For i As Integer = 0 To dt.Rows.Count - 1 'dt is datatable 
    dgv.Rows.Add() 
    dgv.Rows(i).Cells("Sno").Value = i + 1 
    dgv.Rows(i).Cells("itemcode").Value = dt.Rows(i)("itemcode").ToString.Trim 
    dgv.Rows(i).Cells("itemname").Value = dt.Rows(i)("itemname") 
Next 

但是,當我在C#代碼

for (int i = 0; i <= dt.Rows.Count-1; i++) //dt is datatable 
{ 
    DG.Rows.Add(); 
    DG.Rows(i).Cells("Sr").Value = i + 1; 
    DG.Rows(i).Cells("Itemcode").Value = dt.rows(i)("itemcode"); 
} 

DG.Rows(i).Cells("Sr").Value = i + 1;給出錯誤

非可調用成員'DataGridView.Rows'不能像 方法一樣使用。

我在做什麼錯?

+0

爲什麼不使用數據表作爲數據源? – Plutonix

+0

@Plutonix:因爲我必須改變datagridview列,行,單元格的格式,同時使用以前的單元格值的不同條件填充數據..後面還有更多的東西..並且它也成爲我的習慣 –

+0

有事件和所有這些屬性 – Plutonix

回答

1

在C#應該使用括號[]代替括號()

for (int i = 0; i <= dt.Rows.Count - 1; i++) 
{ 
    DG.Rows.Add(); 
    DG.Rows[i].Cells["Sr"].Value = i + 1; 
    DG.Rows[i].Cells["Itemcode"].Value = dt.Rows[i]["itemcode"]; 
} 
0

嘗試使用括號[]代替():

例如

DG.Rows[i].Cells["Sr"].Value = i + 1; 

代替

DG.Rows(i).Cells("Sr").Value = i + 1; 
+0

嗨,這與我的回答有什麼不同? :) –

+0

對不起!我發佈的答案,你擊敗了我:) – Adds

+0

也'細胞(「Sr」)'應該'細胞[「Sr」]'。 –

相關問題