gridView 调整列宽。

peihuadavy 2008-01-16 09:20:47
怎样可以让用户调整GridView的列宽??

谢谢!
...全文
1110 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
peihuadavy 2008-01-18
  • 打赏
  • 举报
回复
谢谢!今晚没怎么弄!呵呵!
yang_kun 2008-01-18
  • 打赏
  • 举报
回复
等LZ尝试.......
阿非 2008-01-18
  • 打赏
  • 举报
回复
XP 风格的可拖动列、可排序、可改变宽度的DataGrid的例子
http://blog.csdn.net/net_lover/archive/2004/06/16/6959.aspx
stray2010 2008-01-18
  • 打赏
  • 举报
回复
服务器控件总会生成html标签发到客户端。。。。在客户端用js就好了
peihuadavy 2008-01-18
  • 打赏
  • 举报
回复
还没成功!!不过主要是那些js!!
先收藏!呵呵
yzaiml 2008-01-17
  • 打赏
  • 举报
回复
可以转成模板列 在设置里面控件的宽
peihuadavy 2008-01-17
  • 打赏
  • 举报
回复
呵呵!!!是不是没办法做到的??
Berry_tian 2008-01-17
  • 打赏
  • 举报
回复
不好意思 答错了! 没看清。

不会,帮顶
Berry_tian 2008-01-17
  • 打赏
  • 举报
回复

<asp:BoundField HeaderText="名字" DataField="name">
<ItemStyle Width="10%" />
</asp:BoundField>
yap111 2008-01-17
  • 打赏
  • 举报
回复
我的方法,用代码实现,希望能解决 你的问题:
//设置网格线颜色
this.gdvFields.Attributes.Add("bordercolor", "black");
//列宽设置
this.gdvFields.Columns[0].HeaderStyle.Width = 120;
this.gdvFields.Columns[0].ItemStyle.Width = 120;
this.gdvFields.Columns[1].HeaderStyle.Width = 60;
this.gdvFields.Columns[1].ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
this.gdvFields.Columns[1].ItemStyle.Width = 60;
this.gdvFields.Columns[2].HeaderStyle.Width = 70;
this.gdvFields.Columns[2].ItemStyle.Width = 70;
this.gdvFields.Columns[3].HeaderStyle.Width = 400;
this.gdvFields.Columns[3].ItemStyle.Width = 400;
this.gdvFields.Columns[4].HeaderStyle.Width = 50;
this.gdvFields.Columns[4].ItemStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
this.gdvFields.Columns[4].ItemStyle.Width = 50;

DataView dv = ds.Tables[0].DefaultView;
一品梅 2008-01-17
  • 打赏
  • 举报
回复
学习了,我又联想到CSDN的框架也可以用些方法么 ?
需要再修改哪些东东?
peihuadavy 2008-01-17
  • 打赏
  • 举报
回复
我用gridView的!!没搞成功!!·····
可以把页面代码也给看看吗?
cansum396 2008-01-17
  • 打赏
  • 举报
回复
e.Item.Cells[0].CssClass = "fixedHeaderCol";
这一句可以不要
peihuadavy 2008-01-17
  • 打赏
  • 举报
回复
谢谢!!我回去试试!!!
cansum396 2008-01-17
  • 打赏
  • 举报
回复
后台cs
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
DataTable dt = new DataTable();
dt = (DataTable)((DataGrid)sender).DataSource;
string id = ((DataGrid)sender).ID;
if (e.Item.ItemType == ListItemType.Header)//表头
{
e.Item.Cells[0].CssClass = "fixedHeaderCol";
for (int i = 1; i < dt.Columns.Count; i++)
{
e.Item.Cells[i].Text = "<font style='width:100% table-layout:fixed' class=\"resizeDivClass\" onmousedown=\"MouseDownToResize(this);\" onmousemove=\"MouseMoveToResize(this);\"onmouseup=\"MouseUpToResize(this);\"></font>" + e.Item.Cells[i].Text + "<span class=arrow id=" + e.Item.Cells[i].Text + "></span>";
}
}
}



前台js
function MouseDownToResize(obj){
setTableLayoutToFixed(obj);
obj.mouseDownX=event.clientX;
obj.pareneTdW=obj.parentElement.offsetWidth;
obj.pareneTableW=obj.parentNode.parentNode.parentNode.parentNode.offsetWidth;
obj.setCapture();
}
function MouseMoveToResize(obj){
if(!obj.mouseDownX) return false;
var newWidth=obj.pareneTdW*1+event.clientX*1-obj.mouseDownX;
if(newWidth>0)
{
obj.parentElement.style.width = newWidth;
obj.parentNode.parentNode.parentNode.parentNode.style.width=obj.pareneTableW*1+event.clientX*1-obj.mouseDownX;
}
}
function MouseUpToResize(obj){
obj.releaseCapture();
obj.mouseDownX=0;
}
function setTableLayoutToFixed(obj)
{
if(obj.parentNode.parentNode.parentNode.parentNode.style.tableLayout=='fixed') return;
var headerTr=obj.parentNode.parentNode.parentNode.parentNode.rows[0];
for(var i=0;i<headerTr.cells.length;i++)
{
headerTr.cells[i].styleOffsetWidth=headerTr.cells[i].offsetWidth;
}

for(var i=0;i<headerTr.cells.length;i++)
{
headerTr.cells[i].style.width=headerTr.cells[i].styleOffsetWidth;
}
obj.parentNode.parentNode.parentNode.parentNode.style.tableLayout='fixed';
}


前台Css
.resizeDivClass
{
position:relative;
background-color:whitesmoke;
width:1;
z-index:100;
float:right;
left:1;
height:100%;
cursor:e-resize;
}
peihuadavy 2008-01-16
  • 打赏
  • 举报
回复
呵呵!!!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧