如何将gridviewrow.cells [i]值的值转换为int32?

时间:2010-12-09 13:59:21

标签: c# casting

在尝试使用C#.net将gridviewrow.cells值的值转换为int32时遇到问题。请考虑以下编码。

DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("studentid",typeof(Int32)));
dt.Columns.Add(new DataColumn("Name",typeof(string)));
foreach (GridViewRow row in GridView1.Rows)
{
   DataRow dr;
   dr = dt.NewRow();
   CheckBox cb = (CheckBox)row.FindControl("Chkgridselect");
   if ( cb.Checked)
   {
       //Error occurs in the following line when i try to typecast
       dr["studentid"] =Convert.ToInt32( row.Cells[1]);
       dr["Name"] = row.Cells[2];
       dt.Rows.Add(dr);
   }
}

4 个答案:

答案 0 :(得分:2)

只是在没有更多信息的黑暗中刺伤。但试试:

int myValue;
if (!int.TryParse(myGridViewRow.Cells[i].Text, out myValue)
 //do something, your value is not an int

答案 1 :(得分:1)

int result;

result = int.Parse(value);

// OR

result = Convert.Int32(value);

答案 2 :(得分:1)

添加一些代码会有所帮助,但我会采取刺激并说试试这个:

int myVal = Int32.Parse(GridViewRow.Cells[i].Text);

答案 3 :(得分:0)

DataGridViewCell具有Value属性。

....
dr["studentid"] = Convert.ToInt32(row.Cells[1].Value);
....