1。连到一个数据表,该表有15列,结果在datagrid中显示的时候,每列只有一个文字的宽度,列标题排列极不匀称,怎样解决?
2。在网页的pageload事件中,我写入了以下代码:
pageload
{
连接到数据库的代码
..........
binddatagrid()
}结果我点击datagrid自带的编辑按钮的时候,由于要网页会先调用pageload,总是不响应edit事件,我把pageload中的binddatagrid去掉后,响应edit事件,但是在我刷新网页的时候,由于pageload事件中没有了binddatagrid,datagrid里面没有数据,就看不见了。请问怎样解决这个矛盾?我是采采鸟,刚学asp.net的,谢谢大家了!
2。在网页的pageload事件中,我写入了以下代码:
pageload
{
连接到数据库的代码
..........
binddatagrid()
}结果我点击datagrid自带的编辑按钮的时候,由于要网页会先调用pageload,总是不响应edit事件,我把pageload中的binddatagrid去掉后,响应edit事件,但是在我刷新网页的时候,由于pageload事件中没有了binddatagrid,datagrid里面没有数据,就看不见了。请问怎样解决这个矛盾?我是采采鸟,刚学asp.net的,谢谢大家了!
2.
pageload
{
if(!this.IsPostBack)
{
连接到数据库的代码
..........
binddatagrid()
}
}
edit事件中要写绑定代码binddatagrid()
2:楼上说的很好
列数太多,每个列分的单元格过小,然而列标题的字符数又大于了该单元格的宽度,所以变得扭曲.
解决办法2种:
a.按楼上说的按100%比去设(页面下方会出现滚动条)
b.在15个列中选一些重要的列显示(推荐)Q2:上面的兄弟们正解.
{
if(!this.IsPostBack)
{
连接到数据库的代码
..........
binddatagrid()
}
}
edit事件
{
重新连接到数据库
..........
重新邦定数据源 binddatagrid()
}
if(!this.IsPostBack)
{
bind();
}
=================
public void bind()
{
绑定数据库
}设置宽度可以在属性生成器里的列里面设置如果不行 就在item事件中 设置
//设置每列的宽度
e.Item.Cells[0].Width=40;
e.Item.Cells[1].Width=160;
e.Item.Cells[2].Width=150;
e.Item.Cells[3].Width=50;记住单位是 px 你要知道DataGrid的宽度
DataGrid1.EditItemIndex=e.Item.ItemIndex;
bind(); //重新绑定下