asp.net中怎样调整datagrid 列的宽度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net中怎样调整datagrid 列的宽度相关的知识,希望对你有一定的参考价值。

我在vs.net中拖动datagrid他所有得列都在相同得变化,怎么才能控制他某一列得宽度呢?,还有显示得字符怎样控制?请提供代码,谢谢!
怎样控制某一列得字符显示多少?

可以设置属性ItemStyle-Width设置宽度, ItemStyle-Font-Size设置字体大小
<Columns>
<asp:BoundColumn ItemStyle-Width="315">
</Columns>

也可以使用样式表定义
参考技术A 添加模板列,在其中添加表(控制布局的),修改表的宽度及可。style属性可以控制字符的样式

如何裁剪或调整图像大小以在 asp.net 中设置纵横比

【中文标题】如何裁剪或调整图像大小以在 asp.net 中设置纵横比【英文标题】:How to crop or resize Image to set aspect ratio in asp.net 【发布时间】:2013-11-01 06:25:39 【问题描述】:

我的网络表单中有一个图像控件。我将其宽度设置为 100 像素,高度设置为 100 像素。但是如果有人上传比例为 100 * 120 的图像。我希望它裁剪或调整大小并设置 100 * 100。我尝试设置最大宽度但没有成功,我尝试了使用代码的位图方法

 protected void Button1_Click(object sender, EventArgs e)

    if (FileUpload1.HasFile)
    
        string filename = FileUpload1.FileName;
        string directory = Server.MapPath("~/");
        Bitmap originalBMP = new Bitmap(FileUpload1.FileContent);
        float origWidth = originalBMP.Width;
        float origHeight = originalBMP.Height;
        float sngRatio = origWidth / origHeight;
        float newWidth = 100;
        float newHeight = newWidth / sngRatio;
        Bitmap newBMP = new Bitmap(originalBMP,Convert.ToInt32(newWidth),Convert.ToInt32(newHeight));
        Graphics oGraphics = Graphics.FromImage(newBMP);
        oGraphics.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
        oGraphics.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        oGraphics.DrawImage(originalBMP, 0, 0, newWidth, newHeight);
        newBMP.Save(directory + filename);
        originalBMP = null;
        newBMP = null;
        oGraphics = null;
        Label1.Text = "File <b style='color: red;'>" + filename + "&lt;</b> uploaded.";
        Image1.ImageUrl = @"~/" + filename;
    
    else
    
        Label1.Text = "No file uploaded!";
    

它工作,但它保存调整大小的图像在目录中我想将原始图像保存在目录中并在图像控件中显示调整大小的图像。

【问题讨论】:

【参考方案1】:

查看 codeplex 上的 Web Image Resize 处理程序:http://webimageresizer.codeplex.com/

它是一个处理图像的自定义处理程序。

示例网址 取自 codeplex 项目的主页

// 返回映射到 /bla.jpg 的图像,调整大小为 100 像素的宽度,保留相对于高度的纵横比 /ImageHandler.ashx?src=/bla.jpg&width=100

// 返回映射到 /bla.jpg 的图像,调整大小为 100 像素的高度,保留相对于宽度的纵横比 /ImageHandler.ashx?src=/bla.jpg&height=100

// 返回图像映射到 /bla.jpg 调整为宽度 100 像素和高度 50 像素 /ImageHandler.ashx?src=/bla.jpg&width=100&height=50

另一种选择是使用http://imageresizing.net/

好处是它注册了一个处理程序来透明地处理图像,这意味着您只需将查询字符串变量添加到原始图像 url 来操作图像。

示例网址

/images/bla.jpg?h=100&w=100

【讨论】:

感谢您回答 jaq 我只是在尝试图像大小调整.net 感谢您提供示例网址 /images/bla.jpg?h=100&w=100 的示例网址无法使用,您可以编辑一下 Image1.ImageUrl = @"~/" + filename + "?h=100&amp;w=100"; 可能是您所追求的,因为这将生成图像的相对 url 并添加宽度和高度查询字符串变量。

以上是关于asp.net中怎样调整datagrid 列的宽度的主要内容,如果未能解决你的问题,请参考以下文章

中继器中的 ASP.NET DataGrid

DataGridColumn 不调整大小

WPF DataGrid 同步列宽

有木有人知道 easyUI 的dataGrid的序号列怎么调整宽度?

在 FLEX 中动态改变 Datagrid 列的宽度

如何将 Colgroup 标记添加到 ASP:Datagrid 控件?