我想通过一个button控件 根据checkbox获得datagrid中某行某列的值    private void Button2_Click(object sender, System.EventArgs e)
{
int i;
string StrTmp="";
for(i=0;i<=mygird.Items.Count-1;i++)
{
CheckBox chk = (CheckBox)mygird.Items[i].FindControl("chkobj");
if(chk.Checked == true)
StrTmp =StrTmp +  ((TextBox)(mygird.Items[i].Cells[0].Controls[0])).Text;
} show.Text = StrTmp; }
可是((TextBox)(mygird.Items[i].Cells[0].Controls[0])).Text;总是提示:指定的转换无效
用mygird.Items[i].Cells[0].Text也无法显示
请教高手如何解决!!!!急 !!

解决方案 »

  1.   

    把该列改成模板列,给textbox加上id,用FindControl定位过去取得text值
      

  2.   

    如果你的模板列是是第二列 
    checkbox A = dgrdTeacherAssess.Items[i].Cells[1].Controls[1] as checkbox;
    就可以找到checkbox了 ,判断它是否为选中,然后取当列的值
      

  3.   

    private void Button2_Click(object sender, System.EventArgs e)
    {
    int i;
    string StrTmp="";
    for(i=0;i<=mygird.Items.Count-1;i++)
    {
    checkbox chk= dgrdTeacherAssess.Items[i].Cells[1].Controls[1] as checkbox; if(chk.Checked == true)
    StrTmp =StrTmp +  ((TextBox)(mygird.Items[i].Cells[0].Controls[1])).Text;
    } show.Text = StrTmp; }