DataTable操作问题(.net)

来源:百度知道 编辑:UC知道 时间:2024/05/09 17:48:11
从DataTable 读取数据然后把值给ListView
private void Sample(DataTable dt)
{
List<ListViewItem> items = new List<ListViewItem>();

foreach (DataRow dr in dt.Rows)
{
object o=dr[1];
ListViewItem newItem = new ListViewItem();
#00 newItem.Text = dr[1];
newItem.SubItems.Add("");
newItem.SubItems.Add("");
newItem.SubItems.Add("");
newItem.SubItems.Add("");
newItem.SubItems.Add("");
newItem.SubItems.Add("");
newItem.SubItems.Add("");
newItem.SubItems.Add("");
items.Add(newItem);

上面#00 那块总会出现错误,"无法将类型object转换成隐式string"这是怎么回事?请大家帮帮忙!谢谢

newItem.Text = dr[1];
改成:
newItem.Text = Convert.ToString(dr[1]);
因为DataRow[]返回的数据类型是Object,必须显式转换成String才行.

newItem.Text = dr[1].ToString()

试试

以为dr[1]不是字符串类型的,而你的newItem.Text要求一个字符串对象,你不能隐式的将dr[1]对象转换成字符串.

还有object o=dr[1]; 这步有什么意义吗,后面没有用到啊.

newItem.Text = dr[1];
----->
newItem.Text = o is DbNull ? "":(string)o;