我在DataGrid模版列中放了控件,请问要怎样才能获得DataGrid模版列中的控件的属性,又怎样给控件属性附值?请祥细告之!

解决方案 »

  1.   

    比如在第一列里有个TextBox1TextBox temp = this.dg.selectedItem.Cells[0].Controls[0] as TextBox;if(temp != null)
      temp.Text = "Test";
      

  2.   

    或者TextBox temp = this.dg.selectedItem.FindControl("TextBox1") as TextBox;if(temp != null)
      temp.Text = "Test";
      

  3.   

    假设你在模板中添加了<asp:TextBox id=TextBox1 runat=server>
    那么,你可以这样求取
    for(int i=0;i<this.DataGrid1.Items.Count;i++)
    {
    TextBox tt = (TextBox)this.DataGrid1.Items[i].FindControl("TextBox1");
    值 = tt.Text;
    tt.Att.....("属性名","属性值")
    }
      

  4.   

    //取模板列控件
    TextBox tb = (TextBox)datagrid1.Items[0].FindControls(controlId);//TextBox
    //从这里开始就可以自由设置TextBox控件的可写属性了,或者获取属性的值
    tb.Text = "hello";
      

  5.   

    如果我放在模版列的Edit项又该怎么办了?
      

  6.   

    private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {

    this.DataGrid1.EditItemIndex=e.Item.ItemIndex;
                DataBind();
    DataSet sett = new DataSet();
    sett = con.GetData("select * from login","login");
        DropDownList myList =(DropDownList)e.Item.FindControl("DropDownList1");
    myList.DataSource = sett.Tables[0];
    myList.DataMember = "userid";
    myList.DataBind();
               



          
     
    }
    我是这样写的,大家看一下啊!注意我是把DropDownList1放在一个模版列的EditItemTemplate中的!