当前位置: 首页 > 编程语言 > C#

ASP.Net在GridView中显示跨列跨行的图片?用C#分享ASP.Net中的

时间:2023-04-10 19:50:58 C#

GridView显示跨列跨行的图片?使用C#我有一些缩略图,我想在Gridview中显示。我不熟悉提供的所有自定义设置。基本上我想将图像存储在Gridview中,可能跨越5列宽......然后需要很多行来完成其余的工作。我不想要任何列或行标题,并且真的不想看到实际网格的证据。我还希望图像可以点击。我将从Asp.net中的Sql数据库中提取图像。我不会将网格绑定到sqldatasource,而是将图像粘贴在网格中,在页面后面的代码中使用某种循环。这让我很困惑。我知道您可以创建一个数据表并添加列和行。但是,行/列似乎没有跨越。您将如何存储图像以使其像网格一样工作。我在下面提供了一些(非常)sudo代码,让您了解我正在尝试做什么。须藤代码:colcount=0;行数=0;图片数=0;while(images.length>imagecount){if(colcount<5){网格[rowcount][colcount]=images[imagecount];科尔数++;图片数++;}else{行数++;科尔计数=0;您可以使用重复器...这样您就可以真正定义每个“行”或“列”的外观,以及它们是否水平或垂直重复您在此处描述的所有内容,最好的选择是使用DataList控件。您可以使用RepeatColumns属性来指定您想要的内容的宽度,并通过将RepeatLayout属性设置为“Flow”来消除任何“tableness”的感觉。这也让你不用担心列数,甚至可以绑定一组图片进行绑定。编辑:既然你问了一个例子,就这么简单。首先创建网格并确保为图像添加占位符:然后在您的代码后面,您所要做的就是一个简单的数据绑定。我不确定您的图像是如何存储的,但是为了争论起见,假设您有一个数据库查询,它为您提供了要显示的每个图像的URL。您的页面加载如下所示:if(!Page.IsPostBack()){dtImageURLs=GetImageUrlsFromDB();dlImages.DataSource=dtImageURLs;dlImages.DataBind();现在这就是人们在事物发生变化的地方。我更喜欢在代码隐藏而不是内联中执行所有RowBinding类型方法,因此我随后使用DataList的RowDataBound事件,并相应地绑定URL属性。protectedvoiddlImages_ItemDataBound(objectsender,System.Web.UI.WebControls.DataListItemEventArgse){ImageTargetImage=default(Image);DataRowDataSourceRow=default(DataRow);DataSourceRow=((System.Data.DataRowView)e.Item.DataItem).Row;TargetImage=(Image)e.Item.FindControl("imgPrettyPicture");TargetImage.ImageUrl=DataSourceRow.Item("ImageURL").ToString;......这应该让你启动并运行。请注意,您需要将DataSourceRow对象更改为您想要数据绑定的任何类型的项目。我正在使用DataRow,因为这是我经常遇到的最常见情况。如果您想要特定的HTML,您最终会与GridView斗争一段时间。请改用ListView或Repeater。我知道您可以创建一个数据表并添加列和行。但是,行/列似乎没有跨越。听起来您正在创建一个System.Data.DataTable-这是一个数据结构-而不是布局控件。如果要以编程方式创建,可以使用System.Web.UI.WebControls.TableSystem.Web.UI.HtmlControls.HtmlTable。您可以在关联的TableRow或HtmlTableRow上设置colspan和rowspan。为什么不手动生成网格?在代码隐藏中创建一个方法,使用Response.Write语句输出必要的HTML。在.aspx页面中,使用调用您的方法并显示相应的网格。以上就是C#学习教程:ASP.Net在GridView中跨列跨行显示图片?使用C#分享的所有内容,如果对大家有用,需要了解更多C#学习教程,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: