我的DataGrid一点"编辑"的时候,整个DataGrid的宽度就变宽了,是怎么回事? 怎样才能不变?

解决方案 »

  1.   

    你用的是绑定列,DataGrid会根据内容自动生成文本框。如果你想控制文本框的宽度,可以用模板列。
      

  2.   

    http://www.lemongtree.net/bbs/NewsDetail.asp?ForumName=ASP%2ENet%CC%D6%C2%DB%C7%F8&DaysPrune=0&lp=1&id=689042
    这里有
    但是我看不明白哦
    Me是莱鸟
    比较肤浅啊
    请哪位大虾指导一下。
    究竟怎么样修改代码啊?
      

  3.   

    自己定制摸版列,来实现. 
    EditItemTemplate> 
    <asp:TextBox Runat="server" ID="edit_Name" Width = 100 text='<%# DataBinder.Eval(Container.DataItem, "Name") %>' /> 
    </EditItemTemplate> 
    在模版列里加上width属性就可以了。
      

  4.   

    这样的话那个update的函数中怎么得到新的更新后的值啊?
    用((TextBox)di.FindControl("datafield")).Text么?
    这样的出来的是字符型的吧,可是我的程序还是有错误
    不知道是怎么回事了
    请教
      

  5.   

    可以更改textbox的宽度。
    比如((TextBox)(e.Item.Cells[0].Controls[0])).Width=60;
    ((TextBox)(e.Item.Cells[1].Controls[0])).Width=60;
    ((TextBox)(e.Item.Cells[2].Controls[0])).Width=60;
    ((TextBox)(e.Item.Cells[3].Controls[0])).Width=60;
    ((TextBox)(e.Item.Cells[4].Controls[0])).Width=60;
    ((TextBox)(e.Item.Cells[5].Controls[0])).Width=30;
    ((TextBox)(e.Item.Cells[6].Controls[0])).Width=30;
    ((TextBox)(e.Item.Cells[7].Controls[0])).Width=30;
      

  6.   

    忘了说了,放在这个事件里面void DataGrid_ItemDataBound(object sender, DataGridItemEventArgs e) 
    {
        if(e.Item.ItemType==ListItemType.EditItem)
        {    }
    }
      

  7.   

    楼上的
    请问是这样加入一个过程么?void DataGrid_ItemDataBound(object sender, DataGridItemEventArgs e) 
    {
        if(e.Item.ItemType==ListItemType.EditItem)
        {
    ((TextBox)(e.Item.Cells[0].Controls[0])).Width=60;
    ((TextBox)(e.Item.Cells[1].Controls[0])).Width=60;
    ((TextBox)(e.Item.Cells[2].Controls[0])).Width=60;
    ((TextBox)(e.Item.Cells[3].Controls[0])).Width=60;
    ((TextBox)(e.Item.Cells[4].Controls[0])).Width=60;
    ((TextBox)(e.Item.Cells[5].Controls[0])).Width=30;
    ((TextBox)(e.Item.Cells[6].Controls[0])).Width=30;
    ((TextBox)(e.Item.Cells[7].Controls[0])).Width=30;    }
    }
    那么这个“DataGrid_ItemDataBound”要在WEb真中的代码那定义一下吧?
      

  8.   

    那么这个“DataGrid_ItemDataBound”要在WEb真中的代码那定义一下吧?
    ----------------------------
    点击此控件,在属性窗口中,有一个专门的“事件”按钮,点击它出现各类事件名称,双击你想要的事件,它就会在后台自动生成事件名称(c#)
      

  9.   

    我没有安装VS.net
    全部自己写代码的
    正想要请问各位开始入门这样不装VS.net合适么?
      

  10.   

    当然不合适了。
    实际上,NET的代码量比ASP的代码量大了非常之多,在ASP时代,可以用记事本写,但在NET时代,如果还是用记事本写,那除了说明此人想要炫耀之外,没有任何益处。
    写程序,一个很关键的地方,就在于你能不能在最短的时间内,完成最好的工作,这样才能产生最高的效益,如果你做不到,那你就不是一个能让老板满意的程序员,老板不满意,你的工资就不会高。而提高生产效率一个很关键的地方,就是不要把你的聪明才智浪费在那些非常愚蠢的<table><tr>之类的代码上。