--OnItemCommand="buy_player是用来处理每一行对应的按钮事件吗?
是的
贴出你的错误代码来看,实在不行你就把这行改成模板列,用LABEL,然后用findcontrol来找值

解决方案 »

  1.   

    看看你要转换成整形的数据是不是整形,最好
    int worth=Convert.ToInt32(e.Item.Cells[8].Text.ToString().Trim());
    这样写
      

  2.   

    player_list.DataKeys[(int)e.Item.Cells[8].Text];
    和(int)e.Item.Cells[8].Text区别在哪里?
    就是不要前面的player_list.DataKeys
      

  3.   

    为什么cmd.Parameters["@player_id"].Value = player_list.DataKeys[(int)e.Item.ItemIndex];要用前面的player_list.DataKeys而int worth=Convert.ToInt32(e.Item.Cells[8].Text);
    不用前面的player_list.DataKeys
      

  4.   

    里面有一句是这样的 int worth=Convert.ToInt32(e.Item.Cells[8].Text);
    目的是要取得对应那一行的第9列的值然后转化为int型,这样写对吗?
    A: 如果Cells[8] 真的是数字字符串,肯定正确。这个是取得主建的值cmd.Parameters["@player_id"].Value = player_list.DataKeys[(int)e.Item.ItemIndex];
    那如果把worth的值改成player_list.DataKeys[(int)e.Item.Cells[8].Text];就会出错
    到底是怎样的啊,
    A: 通过这里说明worth的值不合法。还有就是DataGridCommandEventArgs e和OnItemCommand="buy_player是用来处理每一行对应的按钮事件吗?
    A: 是的。