我正在通過代碼創建一個標籤。我想通過一個返回一個DataTable的函數來填充這個標籤。該DataTable在返回中有1行和1列。如何顯示來自Datatable的標籤文本?
這是我的代碼:
Label1.??? = Repository.Instance.ReturnScore(ddlPlayer1.ToString(), ddlPlayer2.ToString());
ReturnScore是給我值作爲數據表。我應該如何獲得它的價值?
任何幫助?
我正在通過代碼創建一個標籤。我想通過一個返回一個DataTable的函數來填充這個標籤。該DataTable在返回中有1行和1列。如何顯示來自Datatable的標籤文本?
這是我的代碼:
Label1.??? = Repository.Instance.ReturnScore(ddlPlayer1.ToString(), ddlPlayer2.ToString());
ReturnScore是給我值作爲數據表。我應該如何獲得它的價值?
任何幫助?
Label1.Text = Repository.Instance.ReturnScore(ddlPlayer1.ToString(), ddlPlayer2.ToString()).Rows[0][0].ToString();
試試這個
DataTable table = Repository.Instance.ReturnScore(ddlPlayer1.ToString(), ddlPlayer2.ToString());
object value = table.Rows[0][0];
Label1.Text = value == DBNull.Value ? "" : value.ToString() ;
這將返回第一行的第一個值。
DataTable有一個Rows屬性,行返回的每個Row都有一個索引器,它產生該行所在列中包含的值。既然你說會有隻有一個行和一列,你可以這樣做:
DataTable table = Repository.Instance.ReturnScore(ddlPlayer1.ToString(), ddlPlayer2.ToString());
DataRow row = table.Rows[0];
Label1.Text = row[0];
或更簡潔:
Label1.Text = Repository.Instance.ReturnScore(ddlPlayer1.ToString(), ddlPlayer2.ToString())[0][0];
行具有「數組屬性」不完全準確。它被稱爲**索引器**。 – 2011-02-28 01:37:26
更正 - 謝謝指出。 – 2011-02-28 02:46:18
我不記得確切的代碼,但我認爲它應該是這樣的:
dt.Rows[index]["columName"]
它應該是'table.Rows [0] [0] .ToString()'我想。 – 2011-02-28 00:05:54
是的....這工作正常!謝謝.. – 2011-02-28 00:07:08
@StackOverflowException,你是對的,它需要被轉換爲一個字符串。它還需要在那裏進行DBNull檢查。 – 2011-02-28 01:35:43