问题1:现在从工具箱里直接拖了一个DataGrid,也没设置什么,然后从数据库里读出来一个DataSet,然后把DataGrid和DataSet绑定了,这种情况下,我怎么才能设置每列的宽度呢,我想要固定宽度,就是datagrid.Columns[0].ItemStyle.Width = 40;的这种,可是这样他会说 索引超出范围。必须为非负值并小于集合大小。问题2:然后呢,我设置了固定宽度之后如果那一列的文本很长的话,会换行显示,怎么样才能让他不换行呢,就是只能显示一部分内容呢以上两个问题,求教各位,还请帮忙解答下,先谢
<asp:datagrid id="GuestInfo" runat="server" width="100%" HorizontalAlign="Center" CellSpacing="0"
GridLines="None" BorderWidth="0px" AutoGenerateColumns="False" CellPadding="0" CssClass="table_list2">
<ItemStyle HorizontalAlign="Center" Height="20px" BackColor="White"></ItemStyle>
<HeaderStyle HorizontalAlign="Center" Height="22px" CssClass="table_list_title_bg"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="选择">
<HeaderStyle Width="36px" ></HeaderStyle>
<ItemTemplate>
<asp:CheckBox ID="CheckClient" Runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="<nobr>客人ID</nobr>">
<HeaderStyle HorizontalAlign="Center" Width="30px"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:Label ID="lblGuestID" Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"GuestID")%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="客人姓名">
<HeaderStyle Width="64px" ></HeaderStyle>
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.GuestName").ToString().Trim() %>' ID="lblGuestName">
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</asp:datagrid>
<nobr>
<%# DataBinder.Eval(Container, "DataItem.Summary").ToString().Trim()%>
</nobr>
</ItemTemplate>
<asp:TemplateColumn>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"Title").ToString().Length>10?DataBinder.Eval(Container.DataItem,"Title").ToString().Substring(0,10)+".":""%>
</ItemTemplate>
</asp:TemplateColumn>