GridView自制数据源并显示图片
来源:互联网 发布:java定义日期格式 编辑:程序博客网 时间:2024/05/05 13:15
1:GridView不仅能绑定数据库而且我们自己也可以写DataTable数据源:
protected void Page_Load(object sender, EventArgs e)
...{
bind();
}
protected void bind()
...{
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(Int32));
dt.Columns.Add("username", typeof(string));
dt.Columns.Add("userpass", typeof(string));
dt.Columns.Add("picurl", typeof(string));
DataRow dr = dt.NewRow();
dr["id"] = 1;
dr["username"] = "admin";
dr["userpass"] = "admin";
dr["picurl"]="~/image/ming_boy.jpg";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["id"] = 2;
dr["username"] = "admin2";
dr["userpass"] = "admin2";
dr["picurl"] = "~/image/ming_girl.jpg";
dt.Rows.Add(dr);
GridView1.DataSource = dt;
GridView1.DataBind();
}
...{
bind();
}
protected void bind()
...{
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(Int32));
dt.Columns.Add("username", typeof(string));
dt.Columns.Add("userpass", typeof(string));
dt.Columns.Add("picurl", typeof(string));
DataRow dr = dt.NewRow();
dr["id"] = 1;
dr["username"] = "admin";
dr["userpass"] = "admin";
dr["picurl"]="~/image/ming_boy.jpg";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["id"] = 2;
dr["username"] = "admin2";
dr["userpass"] = "admin2";
dr["picurl"] = "~/image/ming_girl.jpg";
dt.Rows.Add(dr);
GridView1.DataSource = dt;
GridView1.DataBind();
}
2:编写一个连接类,可以删除等,可以作为SqlDataSource的数据源
因为用数据集做为数据源总是不能更新....相当郁闷..说什么找不到参"@Original_uid",就更新时找不到...那删除时怎么可以列.uid肯定是关键字段拉...哎~没办法,只有自己写类来完成操作拉...不错生成了一系列的存储过程,不用写SQL语句了,还算比较好写吧...-_-~ 其实我写了好久...下面是源代码,其实感觉还可以简单点,懒的改了!!!~
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/**//// <summary>
/// sqldb 的摘要说明
/// </summary>
public class sqldb
...{
private SqlConnection con;
private SqlCommand cmd;
private SqlDataAdapter sda;
private DataSet ds;
public sqldb()
...{
con=new SqlConnection(ConfigurationManager.ConnectionStrings["sjkConnectionString"].ConnectionString);
cmd=new SqlCommand();
ds=new DataSet();
sda=new SqlDataAdapter();
}
public DataSet select()
...{
sda.SelectCommand=new SqlCommand("NewSelectCommand", con);
sda.SelectCommand.CommandType = CommandType.StoredProcedure;
sda.Fill(ds,"sql");
return ds;
}
public void delete(Int32 uid)
...{
cmd.CommandText = "NewDeleteCommand";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.Parameters.AddWithValue("@Original_uid",uid);
con.Open();
cmd.ExecuteNonQuery();
}
// public void insert(string username, string usrepass)
// {
// cmd.CommandType = CommandType.StoredProcedure;
// cmd.Connection = con;
// cmd.CommandText = "NewDeleteCommand";
// cmd.Parameters.AddWithValue(@username,usernam);
// cmd.Parameters.AddWithValue(@userpass,userpass);
// con.Open();
// cmd.ExecuteNonQuery();
// con.Close();
//}
public void update(string username, string userpwd, Int32 uid)
...{
cmd.CommandText = "NewUpdateCommand";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.Parameters.AddWithValue("@username",username);
cmd.Parameters.AddWithValue("@userpwd",userpwd);
cmd.Parameters.AddWithValue("@Original_uid",uid);
cmd.Parameters.AddWithValue("@uid",uid);
con.Open();
cmd.ExecuteNonQuery();
}
}
看完代码后,感觉好基础...可为什么我写了好久呢?? 在这里我就总结一写好了:
1,使用sqldataadaper时,初始化时直接用的sda.selectcommand="....." ; 后来编译告诉我把什么属性当方法用了..后来才该为sda.selectcommand=new sqlcommand(:"" ,) ;
2.在可以运行时发现删除总是无效,因为也没报错,来回改了半天的代码....后了想了想,这个方法只用了一个参数uid这个值怎么获得呢? 答案: 主建!!!! 把gridview的datakeynames设置为uid列可以了,严重的失误啊...
3.cmd.Parameters.AddWithValue("@uid",uid); 这种格式....第一个参数要加 " " ,并且要和存储过程一样的变量...
4.写方法的时候想了半天返回类型,其实只要查询使用dataset,其他的都为VOID就可以了...呵呵
5.暂时没总结出来....
不足的是插入没有在gridvie内部,是在外部用button_onclick事件来添加的,我没修改gridview模版....懒的做了....
2:在GridView中显示图片:
在gridview中添加一个ImageField列,将它的DataImageUrlField属性设置为我们刚才定义的picurl列名就可以了
- GridView自制数据源并显示图片
- GridView手写数据源并实现分页效果
- GridView显示图片
- GridView显示数据库图片
- GridView显示网络图片
- GridView显示网格图片
- gridview显示图片
- GridView显示网络图片
- GridView显示图片
- 使用GridView显示图片
- 在GridView数据源为空时也显示表头
- 在GridView中显示图片
- 在GridView中显示图片
- 在gridview中显示图片
- GridView显示图片(图文)
- Android程序设计:GridView显示图片
- GridView显示图片重复问题
- Android中GridView 如何正方形显示图片并适配手机
- 哪里有flash素材
- 关系数据库标准SQL语言
- 如何在命令行下编译创建VC程序
- 如何理解C run-time library
- java 自动装箱与拆箱 中的陷阱
- GridView自制数据源并显示图片
- 第三节 CFileOpt类
- 一篇我在贴吧看到的文章 让我沉思 虽然自己没到青岛去学习过
- 口罩和胸罩的异同
- 新鲜
- 《赢在中国》让我们学到了什么?
- 男人是不是比女人更幸福
- 如何区别零线地线和火线?
- linux下常用拷贝命令