一般我的做法会是转换成模版列,然后设置TextBox的width="99%"或者100%

解决方案 »

  1.   

    你可以用模板列,在模板列的<EditItemTemplate>中定义每个编辑框的宽度,当然也可以不用模板列而是在DataGrid的ItemDataBound事件处理程序中来动态控制,象这样:
    void DataGrid1_ItemDataBound(object src,DataGridItemEventArgs e){
    //确保当前行是DataGrid的编辑行
    if(e.Item.ItemType==ListItemType.Edit){
    //设置第二列中的TextBox的宽度为50px
    ((TextBox)e.Item.Cells[1].Controls[0]).Width=50;
    //设置第三列中TextBox的宽度为80px
    ((TextBox)e.Item.Cells[2].Controls[0]).Width=80;
    }
    }