2012-04-19 33 views
0

我有以下代碼,它將值分配給數據行並添加到數據表中。我想寫的函數返回一個datarow,使我能夠編寫更少的代碼。請檢查以下代碼並提供任何建議將代碼包裝到數據行功能中

  objRow = dtTODO.NewRow 
      objRow.Item("Item") = "Test" 
      objRow.Item("Message") = "Test" 
      objRow.Item("ButtonText") = "Add" 
      dtTODO.Rows.Add(objRow) 

      objRow = dtTODO.NewRow 
      objRow.Item("Item") = "Test2" 
      objRow.Item("Message") = "Test2" 
      objRow.Item("ButtonText") = "Add" 
      dtTODO.Rows.Add(objRow) 

假設我正在添加上述記錄。我想創建一個函數返回一個數據行作爲,

Public Function ItemRow(ByVal strItem As String, ByVal strMessage As String, ByVal strButtonText As String, ByVal strUrl As String) As DataRow 

End Function 

並把這個作爲,

dtTODO.Rows.Add(ItemRow(項目,味精,bttext,URL))

希望我不太困惑:)。

+0

你幾乎已經有了自己的答案。 – 2012-04-19 13:16:30

回答

0

您的函數簽名似乎只是沒問題您必須將dtTODO.Newrow引用也傳遞給該函數。

試試這個:

AddRow("a", "b", "c", dtTODO); 
AddRow("a", "b", "c", dtTODO); 

void AddRow(string str1, string str2, string str3, DataTable dt) 
{ 
     DataRow objRow = dtTODO.NewRow(); 
     objRow["Item"] = str1; 
     objRow["Message"] = str2; 
     objRow["ButtonText"] = str3; 
     dt.Rows.Add(objRow); 
} 

您可以得到更好的代碼。

請轉換上面的代碼到VB

+0

你能舉個例子來解釋我嗎? – Joshua 2012-04-19 13:29:15

+0

我修改了我的答案 – 2012-04-19 13:47:32