在下是初学者,我的问题是,设计时是在gridview里点击可选择列,然后在一组文本框里显示被点击gridview所在行的内容,可是当此行内容是空值时,文本框里显示的确是"&nbsp",而这个符号是html 里表示空格的,请问怎样在点击gridview一行时,如果内容为空时让文本框不显示"&nbsp",我用if判断处理了,也不行.

解决方案 »

  1.   

    呵呵。gridview 的数据源是datatable吗?那可以用datatable.rows[i][j],来代替gridview.rows[].cells[]
      

  2.   

    挨个找到你选中行的值,如果为空,TextBox1.Text = string.Empty
      

  3.   


    <asp:BoundField DataField="XXX" HeaderText="XXX" HtmlEncode="False" 
           </asp:BoundField>
      

  4.   

    谢谢各位,我那数据源是dataset ,回去试试.
      

  5.   

    我用的是vs2005,数据库用的是sql2000,在数据库里是null ,怎么显示出来老是"&nbsp"
      

  6.   

    我用1楼的方法改了数据源,行了
    string id = this.GridView1.SelectedRow.Cells[1].Text.ToString().Trim();
            SqlConnection con = DB.GetConnection();//由数据处理类DB产生数据连接串
            con.Open();
            SqlDataAdapter sda = new SqlDataAdapter("select * from Vendor where I_id='" + id + "'", con);
            DataSet ds = new DataSet();
            sda.Fill(ds, "vendor");
            DataRowView rowview = ds.Tables["Vendor"].DefaultView[0];
            this.txtid.Text = this.GridView1.SelectedRow.Cells[1].Text.ToString().Trim();        this.txtcode.Text = rowview ["cVenCode"].ToString ();
            this.txtname.Text = rowview ["cVenName"].ToString ();
            this.txtsim.Text = rowview ["cVenAbbName"].ToString ();