【问题标题】:How to cast value from datagrid to int?如何将值从 datagrid 转换为 int?
【发布时间】:2015-05-13 05:47:48
【问题描述】:

我必须将 datagrid 列作为 int 类型读取。我的变量 id 是 int,我从数据库过去到该列 int。这是我的代码,但我有一个错误:

int id = Convert.ToInt32(DataGrid.Columns[0].ToString());

这是错误:

Input string was not in a correct format.

有什么办法吗?

【问题讨论】:

  • 因为字符串值不等于整数。错误很明显。
  • 好的以及如何将其转换为 int
  • 你得到的是Column Name而不是列索引
  • DataGrid.Columns[0].ToString() 将返回类似DataGridColumn 的内容,但不是有效的Int32。要访问单元格的值,您可能应该使用GetCellContent DataGridColumn 方法,如stackoverflow.com/questions/8187734/… 中所述。
  • 你试过int columnIndex = myGrid.CurrentCell.ColumnIndex

标签: c# silverlight datagrid


【解决方案1】:

看来你选择了错误的方式。

首先:您尝试将 DataGridColumn 字符串表示形式转换为 int - 即您尝试将类似“System.Windows.Controls.DataGridColumn”的字符串(如果 DataGridColumn 没有重载 ToString() 方法)转换为整数。

第二:您的数据网格可能绑定到某个集合,正确的方法是访问该集合并检索所需的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 2014-05-22
    • 1970-01-01
    • 2021-11-04
    • 2013-12-08
    • 2011-12-30
    • 2014-03-16
    相关资源
    最近更新 更多