DataGride控件的操作,在DataGride控件中每次提交,怎么去控制DataGride控件的宽度不变

解决方案 »

  1.   

    不大明白你的意思,要是保持DataGrid在编辑和普通状态下宽度不变的话,你可以把列都转换成模板列来控制
    <asp:TemplateColumn HeaderText="名 称">
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ItemName") %>' Width="120px">
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox id=txtdgName runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ItemName") %>' Width="120px">
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
      

  2.   

    标题的一列:
    <asp:BoundColumn DataField="FTitleName" HeaderText="标题">
    <HeaderStyle Width="200px"></HeaderStyle>
    <ItemStyle VerticalAlign="Middle"></ItemStyle>
    </asp:BoundColumn>
    ----------------------------------------------------------------------------------DataGrid的ItemDataBound事件代码: if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {//生成序号
    e.Item.Cells[0].Text=Convert.ToString(cdgpPubInfoAudit.CurrentPageIndex*cdgpPubInfoAudit.PageSize+e.Item.ItemIndex+1); if(StringClass.GetStringLength(e.Item.Cells[2].Text)>28)
    {
    //如果字符串宽度大于指定宽度,则显示ToolTip,如果计算字符串的字节数,网上资料很多
    e.Item.Cells[2].ToolTip=e.Item.Cells[2].Text;
    }
    //如果字符串显示宽度大于200则自动截断,并显示“...”符号,注意200px要与DataGrid列的宽度一致
    e.Item.Cells[2].Text="<span style=\"width:200px;height:15px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap\">"+e.Item.Cells[2].Text+"</span>"; }