用模板列来控制,或在DataGrid的ItemBound事件中定义

解决方案 »

  1.   

    请问假如用css来控制的话,应该怎样写呢?控制单元格的宽度?
    手头上没这样的资料^_^
      

  2.   

    你新建一个css文件,然后在<head></head>标签中,用<link>来指定就可以了:
    <LINK href="cyc_css.css" type="text/css" rel="stylesheet">
    href属性为你创建的css文件名
    其中cyc_css.css文件的内容:
    body
    {
    FONT-SIZE: 9pt; LINE-HEIGHT: 13pt
    }
    TD { FONT-SIZE: 9pt; LINE-HEIGHT: 13pt }
    A:link { COLOR: #000000; TEXT-DECORATION: none }
    A:visited { COLOR: #000000; TEXT-DECORATION: none }
    A:hover { COLOR: red; TEXT-DECORATION: none }
    A:active { COLOR: #000000 }
    .wrap1 { WIDTH: 100%; WORD-BREAK: break-all }你在datagrid中就可以设置其的:
    <asp:datagrid id="dg_item" runat="server"  CssClass="wrap1">
      

  3.   

    如果没有使用模板列,可以通过在属性页中设定列的百分比宽度或像素宽度;
    如果在datagrid中使用了模板列,还要设定模板列中控件的宽度属性才行。
    一点见解,希望对你有用 :)
      

  4.   

    <asp:BoundColumn ItemStyle-Width="80%" DataField="***" />
      

  5.   

    <asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 0px; POSITION: absolute; TOP: -16px" runat="server" Height="191px" BorderWidth="0px" Font-Names="宋体" BorderColor="Desktop" Font-Size="X-Small" AutoGenerateColumns="False" OnItemCommand="aa" HorizontalAlign="Center" Width="500px" ForeColor="Highlight">
    <SelectedItemStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#738A9C"></SelectedItemStyle>
    <AlternatingItemStyle BackColor="#86B4F2"></AlternatingItemStyle>
    <ItemStyle HorizontalAlign="Center" ForeColor="Highlight" Width="80px" BackColor="#F7F7F7"></ItemStyle>
    <HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="#4A3C8C" BackColor="#86B4F2"></HeaderStyle>
    <FooterStyle ForeColor="#4A3C8C" BackColor="#B5C7DE"></FooterStyle>
    <Columns>
    <asp:BoundColumn DataField="TYBM">
    <ItemStyle Width="90px"></ItemStyle>
    </asp:BoundColumn>
    <asp:TemplateColumn>
    <ItemStyle Width="90px"></ItemStyle>
    <ItemTemplate>
    <asp:LinkButton CommandName="dm" ID="DM" Runat=server ForeColor="Highlight" Text='<%# DataBinder.Eval(Container.DataItem,"DM")%>'>
    </asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="XZJB">
    <ItemStyle Width="90px"></ItemStyle>
    </asp:BoundColumn>
    <asp:TemplateColumn>
    <ItemStyle Width="90px"></ItemStyle>
    <ItemTemplate>
    <asp:CheckBox id="chkGift" OnCheckedChanged="bb" Checked="True" AutoPostBack="True" runat="server" />
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid>你可以拿去参考
      

  6.   

    在DataGrid的ItemDataBound的事件中:
    if(e.Item.ItemType==ListItemType.EditItem)
    {
     for(int i=0;i<e.Item.Cells.Count;i++)
    {
     TextBox txt=(TexTBox)e.Item.Cells[i].Controls[0];
     txt.Width=unit.Pixel(50);
    }
    }