GridView绑定数据

a6389639 2011-04-27 04:31:58
我想把查询出来的数据绑定到GridView里 在这里怎么写啊
 protected void btnUSearch_Click(object sender, EventArgs e)
{
string loginId = this.txtUSearch.Text.Trim();
string u=UserManager.GetUserByLoginId(loginId);
return;
}
...全文
204 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

public static List<User> GetUserByLoginId(string loginId)
{
List<User> list = new List<User>();
string sql = "SELECT * FROM Users WHERE LoginId = @LoginId";
int userStateId;
int userRoleId;
using (SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@LoginId", loginId)))
{
if (reader.Read())
{
User user = new User();

user.Id = (int)reader["Id"];
user.LoginId = (string)reader["LoginId"];
user.LoginPwd = (string)reader["LoginPwd"];
user.Name = (string)reader["Name"];
user.Address = (string)reader["Address"];
user.Phone = (string)reader["Phone"];
user.Mail = (string)reader["Mail"];
userStateId = (int)reader["UserStateId"]; //FK
userRoleId = (int)reader["UserRoleId"]; //FK
reader.Close();
user.UserState = UserStateService.GetUserStateById(userStateId);
user.UserRole = UserRoleService.GetUserRoleById(userRoleId);
list.Add(user);
}
else
{
reader.Close();
}
}
return list;
}



protected void btnUSearch_Click(object sender, EventArgs e)
{
string loginId = this.txtUSearch.Text.Trim();
GridView1.DataSource=UserManager.GetUserByLoginId(loginId);
GridView1.DataBind();
}

手可摘星辰 2011-04-28
  • 打赏
  • 举报
回复
public static DataTable GetUserByLoginId(string loginId)
{
datatable dt = new datatable();
string sql = "SELECT * FROM Users WHERE LoginId = @LoginId";
int userStateId;
int userRoleId;
using (SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@LoginId", loginId)))
{
if (reader.Read())
{
User user = new User();

user.Id = (int)reader["Id"];
user.LoginId = (string)reader["LoginId"];
user.LoginPwd = (string)reader["LoginPwd"];
user.Name = (string)reader["Name"];
user.Address = (string)reader["Address"];
user.Phone = (string)reader["Phone"];
user.Mail = (string)reader["Mail"];
userStateId = (int)reader["UserStateId"]; //FK
userRoleId = (int)reader["UserRoleId"]; //FK
reader.Close();
user.UserState = UserStateService.GetUserStateById(userStateId);
user.UserRole = UserRoleService.GetUserRoleById(userRoleId);

return dt;
}
else
{
reader.Close();
return null;
}
}
}

你把这个再改改吧,就是返回类型不对,用datatable了就没必要写的这么麻烦
arjen2010 2011-04-28
  • 打赏
  • 举报
回复
UserManager.GetUserByLoginId(loginId);这个方法要返回一个DATATABLE
手可摘星辰 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 a6389639 的回复:]
C# code
string loginId = this.txtUSearch.Text.Trim();
DataTable da = new DataTable();
da=UserManager.GetUserByLoginId(loginId);
gvMain.DataBind();



错误 1 无法将类型“MyBook……
[/Quote]
因为你那边查询的方法返回的是实体类型的,你要返回datatable或集合啊
  • 打赏
  • 举报
回复

protected void btnUSearch_Click(object sender, EventArgs e)
{
string loginId = this.txtUSearch.Text.Trim();
List<User> list = new List<User>();
list.Add(UserManager.GetUserByLoginId(loginId));
GridView1.DataSource=list;
GridView1.DataBind();
}

试试看
laolaolai 2011-04-28
  • 打赏
  • 举报
回复
你的问题根本原因是:
GetUserByLoginId方法返回的是一个用户对象User
而绑定GridView需要提供的数据源应该是实现了IListSource、IEnumerable 或 IDataSource的对象
比如DataSet DataTable DataTable.DefaultView List

所以你应该这样:
你可以把User对象放到List<User>中,也可以将其放到DataTable中,都可以啊。
而不能直接将User实例直接赋给GridView.DataSource,这样说楼主明白了吗?
a6389639 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 chuntian1983 的回复:]
C# code
protected void btnUSearch_Click(object sender, EventArgs e)
{
string loginId = this.txtUSearch.Text.Trim();
string u = UserManager.GetUserByLoginId(loginId……
[/Quote]
我用你的方法 总数提示数据源类型无效
ZhuZhuYuXiang 2011-04-28
  • 打赏
  • 举报
回复
json序列化
  • 打赏
  • 举报
回复
 protected void btnUSearch_Click(object sender, EventArgs e)
{
string loginId = this.txtUSearch.Text.Trim();
string u = UserManager.GetUserByLoginId(loginId);
DataSet ds = new DataSet();
ds = //你写sql语句形成数据源
gridview//绑定应该会吧

}
大哥你去看下书好吗?这个很简单的。你的gridvie要绑定数据源为dataset,那你把你的查询条件加到你的sql语句上重新执行下。形成个dataset,再绑定不就可以了吗。
a6389639 2011-04-28
  • 打赏
  • 举报
回复
 string loginId = this.txtUSearch.Text.Trim();
DataTable da = new DataTable();
da=UserManager.GetUserByLoginId(loginId);
gvMain.DataBind();



错误 1 无法将类型“MyBookShop.Models.User”隐式转换为“System.Data.DataTable”
se7en 2011-04-27
  • 打赏
  • 举报
回复
gridview.bind bind方法就是帮顶
手可摘星辰 2011-04-27
  • 打赏
  • 举报
回复
你写那什么玩意啊,都看不懂。给个数据源就行了啊,数组,datatable,集合什么的都行啊
fd1985318 2011-04-27
  • 打赏
  • 举报
回复
GetUserByLoginId(loginId)返回的是字符串?绑定gridview需要dataset或者datatable
a6389639 2011-04-27
  • 打赏
  • 举报
回复
哪个方法调用的这个方法
 public static User GetUserByLoginId(string loginId)
{
string sql = "SELECT * FROM Users WHERE LoginId = @LoginId";
int userStateId;
int userRoleId;
using (SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@LoginId", loginId)))
{
if (reader.Read())
{
User user = new User();

user.Id = (int)reader["Id"];
user.LoginId = (string)reader["LoginId"];
user.LoginPwd = (string)reader["LoginPwd"];
user.Name = (string)reader["Name"];
user.Address = (string)reader["Address"];
user.Phone = (string)reader["Phone"];
user.Mail = (string)reader["Mail"];
userStateId = (int)reader["UserStateId"]; //FK
userRoleId = (int)reader["UserRoleId"]; //FK
reader.Close();
user.UserState = UserStateService.GetUserStateById(userStateId);
user.UserRole = UserRoleService.GetUserRoleById(userRoleId);

return user;
}
else
{
reader.Close();
return null;
}
}
}
a6389639 2011-04-27
  • 打赏
  • 举报
回复
不行啊 总是提示 数据类型无效 。 我这个方法是为了把查询以后的数据放到GridView上
ronadozj 2011-04-27
  • 打赏
  • 举报
回复
前面string等于的肯定是string了
[Quote=引用 12 楼 naonaoye 的回复:]
UserManager.GetUserByLoginId(loginId);的返回值是什么?

DataSet和DataTable都可以啊
[/Quote]
ronadozj 2011-04-27
  • 打赏
  • 举报
回复
sqlcommond cmd = new sqlcommond("select "+u,connection);
sqldataadapter da = new sqldataadapter(cmd);
dataset ds = new dataset();
da.fill(ds);
GridView1.DataSource=ds.table[0].defaultview;
GridView1.DataBind();
naonaoye 2011-04-27
  • 打赏
  • 举报
回复
UserManager.GetUserByLoginId(loginId);的返回值是什么?

DataSet和DataTable都可以啊
yfxucn 2011-04-27
  • 打赏
  • 举报
回复
还羡慕可以使用GridView 哎.......
a6389639 2011-04-27
  • 打赏
  • 举报
回复
我试了,调试的后显示 数据源类型无效。它必须是 IListSource、IEnumerable 或 IDataSource。
加载更多回复(9)
第7章 数据绑定控件 300 7.1 数据绑定技术 301 实例188 格式化订货金额和订单日期并 进行绑定 301 实例189 使用绑定表达式高亮显示搜索关键字 302 实例190 Eval()绑定图书图片并实现单击图片 进行链接 304 实例191 Eval()方法绑定日志并用“…”代替 超长内容 305 实例192 双向绑定Bind()方法实现更新最新 电影信息 306 实例193 绑定DataTable对象显示银行月利息 及本息 307 7.2 GridView控件基本应用 308 实例194 GridView数据绑定并实现自带 分页功能 308 实例195 实现选中、编辑和删除GridView中的 商品信息 310 实例196 供求信息网审核发布信息 (审核权限设置) 312 实例197 获取GridView控件中隐藏的列值 314 实例198 在GridView控件中实现商品信息 自动编号 315 实例199 GridView绑定数据为空时的界面设计 316 实例200 GridView强制换行显示论坛帖子的 详细信息 317 实例201 查看GridView当前行绑定的商品 详细信息 319 实例202 GridView复选框绑定列设置商品 是否上架 320 实例203 使用主题来设置GridView控件的外观 322 7.3 GridView控件72般绝技 323 实例204 实现搜索GridView多个关键字高亮 显示 323 实例205 高亮显示数据行并实现双击数据行 弹出新窗口 325 实例206 学生成绩不及格设置单元格突出显示 为红色 326 实例207 根据多个字段内容设置不同数据行的 背景色 327 实例208 自定义分页并结合下拉列表实现页次 切换 328 实例209 结合分页模板PagerTemplate实现 自定义分页 330 实例210 在GridView控件中动态添加模板列 331 实例211 带上下箭头排序并实现查询数据为 空显示表头 334 实例212 GridView自动求和及合并多列多行 单元格 336 实例213 GridView合并行或列单元格的5种 通用方式 338 实例214 GridView删除数据时弹出确认对话框 (含内容提示) 340 实例215 GridView数据源为空时显示表头和 提示信息 341 实例216 创建表头固定、表体可滚动的 GridView控件 342 实例217 可拖动列、可排序、可改变宽度的 GridView控件 344 实例218 使用“…”优化GridView控件中的 超长字符显示 345 实例219 一次性编辑GridView控件的所有行 中的数据 347 实例220 嵌套DropDownList控件根据库存量 设置商品停售 348 实例221 嵌套CheckBox实现批量删除和更新 供求信息 349 实例222 结合CheckBox实现密码重置 (MD5加密) 351 实例223 结合哈希表设置在线考试后台管理 权限 353 实例224 嵌套GridView控件实现商品信息 明细表 354 实例225 将GridView控件的数据导出到Excel 并进行格式化 355 实例226 将Excel中数据导入到Aceess 并绑定GridView 356 实例227 将GridView绑定的Access数据 生成XML 358 实例228 嵌套购物车(可增减商品数并显示 摘要信息) 359 实例229 使用LINQ实现GridView控件分页 功能 361 实例230 LINQ绑定GridView实现编辑和删除 数据 362 实例231 开发针对GridView自定义分页的用户 控件 364 7.4 灵活访问数据俊杰:DataList控件 365 实例232 分页绑定DataList数据并实现页面 跳转功能 365 实例233 开发针对DataList控件分页功能的 用户控件 368 实例234 使用DataList删除数据(支持批量 删除) 370 实例235 利用DataList控件智能化查看详细 信息 371 实例236 编辑绑定在DataList控件中的商品 信息 373 实例237 利用嵌套DataList控件显示商品明细 信息 374 实例238 查找嵌套在DataList控件中的多个 服务器控件 376 7.5 王牌现身:全新的ListView控件 377 实例239 以独立DataPager控件设置ListView 的分页 377 实例240 异步无刷新水平滚动照片 (AJAX+ListView) 379 实例241 编辑绑定在ListView中的照片 (ADO.NET版) 380 实例242 编辑绑定在ListView中的照片 (LINQ版) 382 实例243 高亮显示ListView中的数据行并实现 图片自动变换 384

62,254

社区成员

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

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

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

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