我正在通过代码创建一个标签。我想通过一个返回一个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