code=C#]Session["CsAskBkgUser"] = GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Cells[24].Text;
Session["AutoID"] = GridView1.Rows[GridView1.SelectedRow.RowIndex].Cells[6].Text;
Session["BkgPopUp"] = GridView1.Rows[e.NewEditIndex].Cells[5].Text;[[/code]在GridView中取某行某列的值赋给Session,现在我想在取某列的时不用数字,而是用名称,
例如模板列的时候用Common Name其他的BOUND FIELD列用其他的名称来代Cells[2]等,这样可以解决
当GridView中插入一列时,其他的列不用更新程序,而用数字的话,每个都要取更新,非常的繁琐,而且容易出错,
请高手指点

解决方案 »

  1.   

    Session["CsAskBkgUser"] = GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Cells[24].Text; 
    Session["AutoID"] = GridView1.Rows[GridView1.SelectedRow.RowIndex].Cells[6].Text; 
    Session["BkgPopUp"] = GridView1.Rows[e.NewEditIndex].Cells[5].Text; 在GridView中取某行某列的值赋给Session,现在我想在取某列的时不用数字,而是用名称, 
    例如模板列的时候用Common Name其他的BOUND FIELD列用其他的名称来代Cells[2]等,这样可以解决 
    当GridView中插入一列时,其他的列不用更新程序,而用数字的话,每个都要取更新,非常的繁琐,而且容易出错, 
    请高手指点
      

  2.   

    可以通过列名来找啊,试试FindControl吧
      

  3.   

    在DataGirdView里面的属性里不是有个Colletions么?点击增加的列名,在DataPropertyName写的属性值“name”
    Session["CsAskBkgUser"] = GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Cells["name"].value;
      

  4.   


    GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Cells["name"].value;
    貌似.Cells[int index],没有string的哦。