这里主要解决VB.NET DataGrid显示的问题,主要从程序功能、建立数据库、窗体设计、、VB.NET DataGrid代码设计四个方面全面分析。 、
学习VB.NET时,你可能会遇到VB.NET上传图片并在DataGrid中显现的问题,这儿将介绍VB.NET DataGrid显现问题的解决方法,在这儿拿出来和我们共享一下。
#T#一、程序功用
当上传图片巨细超越8K或格局不符时制止上传,上传经过之后,用VB.NET DataGrid显现上传的图片
二、树立数据库
在MSSQL的NorthWind数据库中新建一个users表。
三、窗体规划:
1、新建ASP.NET Web应用程序,命名为DataGrid3,保存途径为http://192.168.0.1/DataGrid3(注:我机子上的网站的IP是192.168.0.1的主目录是D:\web文件夹)然后点击确认。
2、在解决方案资源管理器窗口中,将WebForm1.aspx重命名为UpPicture.aspx,然后从工具箱中向窗体增加一个Label控件、一个BUtton按钮.然后从一个HTML工具箱中向窗体增加一个File field控件窗体界面。
3、在解决方案资源管理器窗口中右击项目,挑选增加-新项-Web窗体,称号设为ViewPicture.aspx。然后在翻开的窗体中增加一个DataGrid控件。
4、右击DataGrid控件,再点击下方的“特点生成器”,翻开“DataGrid特点窗口”。在“DataGrid特点窗口”点击“列”,撤销“在运行时主动创立列”前的对勾,向选定的列中增加一个绑定列,在页眉文本中输入“序号”,在数据字段中输入ID。再向选定的列中增加一个绑定列,在页眉文本中输入“头像”,在数据字段中输入headimg。然后点击确认。
四、VB.NET DataGrid代码规划:
1、UpPicture.aspx
- ImportsSystem.Data.SqlClient
- PublicClassWebForm1
- InheritsSystem.Web.UI.Page
- '窗体代码省掉
- '上传图片
- PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
- DimimgAsString
- '界说postedfile文件是贮存用户上载的文件
- DimpostedfileAsHttpPostedFile=File1.PostedFile
- '界说一个变量贮存用户上载文件的巨细
- DimintImgSizeAsInt32
- '获取用户上传文件的巨细,
- intImgSize=postedfile.ContentLength
- '假如要上传的文件不为空
- IfintImgSize0Then
- '假如大于8K,则制止上传
- IfintImgSize>8000Then
- Label1.Text="图片太大"
- ExitSub
- EndIf
- '界说一个变量贮存用户上传图片的文件类型
- DimstrImgTypeAsString=postedfile.ContentType
- '只承受.gif格局的图片
- Dimfilesplit()AsString=Split(strImgType,"/")
- strImgType=filesplit(filesplit.Length-1)
- IfstrImgType"gif"Then
- Label1.Text="图片格局不对"
- ExitSub
- EndIf
- '贮存要上传的文件的整个途径
- filesplit=Split(postedfile.FileName,"\")
- '获得上传文件的文件名
- DimfilenameAsString=filesplit(filesplit.Length-1)
- '将上传的图片保存到服务器当时目录的headimg文件夹中
- postedfile.SaveAs(Server.MapPath("headimg")&"\"&filename)
- '界说一个变量贮存服务器上当时上传图片的途径
- DimimgpathAsString="headimg\"&filename
- img=""
- '将图片贮存到数据库
- DimsconAsNewSqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")
- scon.Open()
- DimscomAsNewSqlCommand("insertintousersvalues(@img)",scon)
- scom.Parameters.Add("@img",SqlDbType.VarChar).Value=img
- Try
- scom.ExecuteNonQuery()
- CatchexAsException
- EndTry
- scon.Close()
- '转到检查图片窗口
- Response.Redirect("ViewPicture.aspx")
- EndIf
- EndSub
- EndClass
2、ViewPicture.aspx代码:
- ImportsSystem.Data.SqlClient
- PublicClassViewPicture
- InheritsSystem.Web.UI.Page
- ‘窗体代码省掉
- PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
- DimsconAsNewSqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")
- DimsdaAsNewSqlDataAdapter("select*fromusers",scon)
- DimdsAsNewDataSet
- Try
- sda.Fill(ds)
- CatchexAsException
- EndTry
- DataGrid1.DataSource=ds
- DataGrid1.DataBind()
- EndSub
- EndClass