实现datagrid可编辑后,一点编辑由于输入框的出现导致页面变宽,有没有办法可以设置输入框的大小!

解决方案 »

  1.   

    我使用模板列,然后更新数据时报错,说我的ybwz1没有定义!<asp:DataGrid ID="dg" runat="server" OnEditCommand="dg_update">
    <headerstyle HorizontalAlign="Center" />
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:TextBox ID="ybwz1" runat="server" Text='<%# DataBinder.Eval (Container.DataItem, "ybwz") %>'>
    </asp:TextBox>
    </ItemTemplate>
    </asp:TemplateColumn> 
    <asp:editcommandcolumn HeaderText="操作" edittext="修改"/>
    </Columns>
    </asp:datagrid>sqlstr = "UPDATE dfb SET ybwz = '" & ybwz1.Text & "' WHERE id = " & ybwz.Text
    这该怎么改啊!
      

  2.   

    在这里添加width="你要的宽度"
    <asp:TextBox ID="ybwz1" runat="server" Text='<%# DataBinder.Eval (Container.DataItem, "ybwz") %>'>比如
    <asp:TextBox ID="ybwz1" width="80px" runat="server" Text='<%# DataBinder.Eval (Container.DataItem, "ybwz") %>'>
      

  3.   

    但现在是在更新语句上报ybwz1没有定义
      

  4.   

    编译器错误信息: BC30451: 名称“ybwz”未声明。
    源错误:
    行 45: sqlstr = "UPDATE dfb SET ybwz = '" & ybwz.Text & "' WHERE id = " & aa.text 
      

  5.   

    ((TextBox)(e.Item.FindControl("ybwz"))).Text
      

  6.   

    可以不用模版列
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.EditItem)
    {TextBox t=(TextBox)e.Item.Cells[序号].Controls[0];
    t.Width=50;
    }
    }
    ==== 
    ~~~~ 我的Blog:http://blog.csdn.net/quou2002 
      

  7.   

    Dim ybwz As TextBox = e.item.cells(2).controls(0)ybwz.width=50类型“Integer”的值无法转换为“System.Web.UI.WebControls.Unit”。
      

  8.   

    private void DataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
      if(e.Item.ItemType==ListItemType.EditItem)
      {
        e.Item.Cells[1].Attributes.Add("Width", "300px");
       }
    }