int width = 50;
currentTextbox.Width = Unit.Pixel(width);

解决方案 »

  1.   

    转换成文本框的模板列,然后在后台得到这个对象,然后用代码控制文本框的width,就可以了。
      

  2.   

    我以前写的一个C#的,希望对你有所帮助
    private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if (e.Item.ItemIndex > -1)
    {
    if (e.Item.ItemType == ListItemType.EditItem)
    {
    //order_num
    ((TextBox)e.Item.Cells[1].Controls[0]).Width = 100;
    ((TextBox)e.Item.Cells[2].Controls[0]).Width = 150;
    }
    }
    }
      

  3.   

    TO: yk1212(洋棵) 请问你说的那样怎么做?
    TO:  winwang168(无名) 你说的办法我试过的,没用
    currenttextbox.width=40
    这样会出错,我用的是VB脚本
      

  4.   

    private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    int iIndex=(int)e.Item.ItemIndex;
    TextBox txb =(TextBox)dgBill.Items[iIndex].FindControl("文本框模板列id");....
    }然后就对txb进行任意操作了。
      

  5.   

    to:yk1212(洋棵)
    这样还是不行啊.
    文本框模板列我没用到得,这些文本框好像是按了编辑按钮后自动出来得.
      

  6.   

    这段代码:
    加入你想进行操作的事件里面
    TextBox cc=(TextBox)DataGrid1.Items[e.Item.ItemIndex].Cells[2].Controls[0];
    cc.Width=100;Cells[2]是第三列!
      

  7.   

    #Region "修改状态和排名。"
        Private Sub DatClient_UpdateCommand(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) Handles DatClient.UpdateCommand
            Dim TxtStatus As TextBox
            Dim TxtLoc As TextBox
            TxtStatus = CType(e.Item.Cells(3).Controls(0), TextBox)
            TxtLoc = CType(e.Item.Cells(4).Controls(0), TextBox)
            If TxtStatus.Text <> "" And TxtLoc.Text <> "" Then
                Try
                    ModSql.UpdateBySQL("商家表", " 状态=" & TxtStatus.Text & ", 排名分值=" & TxtLoc.Text, " ID=" & DatClient.DataKeys(CInt(e.Item.ItemIndex)).ToString)
                Catch ex As Exception
                    Response.Write(ex.Message & "请检查所填写的值。" & TxtStatus.Text & " : " & TxtLoc.Text)
                End Try
            End If
            DatClient.EditItemIndex = -1
            BindGrid()
        End Sub
    #End Region
      

  8.   

    int width = 50;
    currentTextbox.Width = Unit.Pixel(width);