简单的DataGrid问题。
我用DataGrid1绑定到一个DataSet后分页显示,
但当我翻页时,每页的记录宽度都随着数据库里数据长度改变.
请问怎么解决。
问题点数:20、回复次数:10Top
1 楼irq001()回复于 2004-05-01 21:56:35 得分 0
Sorry
是每页的字段宽度随着数据库里数据长度改变,而我想有个固定宽度。Top
2 楼kanshangren(槛上人)回复于 2004-05-01 22:00:41 得分 5
可以在VS.NET中的DATAGRID点击右键,调出设计器里,里面列设计的,把你的列宽度设为绝对值就可以了。Top
3 楼irq001()回复于 2004-05-01 22:13:29 得分 0
是啊。我的列是运行后自动生成的。
我应该选择哪个列啊??Top
4 楼chengsion()回复于 2004-05-01 22:28:05 得分 0
谁让你用自动生成的啊,再好的开发环境,程序员还是要做些事的嘛 .Top
5 楼irq001()回复于 2004-05-01 22:44:11 得分 0
晕了。我手头没书,我在自己摸索。还望给个指点。Top
6 楼citylamp(Johnson)回复于 2004-05-01 22:59:20 得分 0
查MSDN,有个属性可以设置每页的记录条数的Top
7 楼irq001()回复于 2004-05-01 23:14:03 得分 0
那个属性我知道,我说的不是每页记录数变,而是每个字段的宽度不固定。
我的代码如下:
前面随便连个库,我连的是northwind库,给个查询select companyname,address,phone from customers,建个datagrid1,每页10条记录。
然后:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
SqlDataAdapter1.Fill(DataSet1)
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGrid1.SelectedIndexChanged
End Sub
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
DataGrid1.CurrentPageIndex = e.NewPageIndex
DataGrid1.DataBind()
End Sub
当点击下一页、上一页时,字段宽度不固定,切换起来非常难看啊~~~~~~~~~~
大家怎么解决的?Top
8 楼yanhang00(DiM)回复于 2004-05-01 23:45:32 得分 15
在html代码的datagrid控件列代码中加入<ItemStyle Width="50%"></ItemStyle>就能控制邦定列的宽度了
最好不要用自动生成
比如:
<asp:datagrid id="DataGrid5" runat="server" ForeColor="Black" GridLines="Horizontal" CellPadding="4"
BackColor="White" BorderWidth="1px" BorderStyle="None" BorderColor="#CCCCCC" AutoGenerateColumns="False"
Width="100%">
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#CC3333"></SelectedItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#333333"></HeaderStyle>
<FooterStyle ForeColor="Black" BackColor="#CCCC99"></FooterStyle>
<Columns>
<asp:BoundColumn DataField="ATitle" HeaderText="标题">
<ItemStyle Width="70%"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="TeacherName" HeaderText="教师">
<ItemStyle Width="10%"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="AAddtime" HeaderText="发布时间">
<ItemStyle Width="20%"></ItemStyle>
</asp:BoundColumn>
</Columns>
<PagerStyle HorizontalAlign="Right" ForeColor="Black" BackColor="White"></PagerStyle>
</asp:datagrid>Top
9 楼xjshuaishuai(JimmyKo)回复于 2004-05-01 23:51:20 得分 0
在DataGrid的属性成生器的格式的如普通项,页角,页眉的把自动换行的钩去掉.Top
10 楼irq001()回复于 2004-05-02 09:40:22 得分 0
试试先,
我把自动换行的钩去掉了,也不好用。
关注。。。。Top




