CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

Gridview的问题

楼主flysky913()2006-03-17 22:46:22 在 .NET技术 / ASP.NET 提问

string   strsql="select   *   from   gain";  
  string   keyid="gain_id";  
  sqlconn   =   new   SqlConnection(connstr);  
  sqlcomd   =   new   SqlCommand(strsql,   sqlconn);  
  sqlconn.Open();  
  GridView.DataSource   =   sqlcomd.ExecuteReader(CommandBehavior.CloseConnection);  
  GridView.DataKeyNames   =   new   string[]   {   keyid   };  
  GridView.DataBind();  
  sqlconn.Close();  
  这样写的话会讲gain表中所有的数据项都显示在gridview中,但我现在只要求显示一部分,例如只显示gain_name,gain_num.该怎么样实现呢?不能够用  
  <asp:BoundField       datafield="gain_name"   headertext="获取名称">  
                <HeaderStyle   width="90px"></HeaderStyle>  
                <ItemStyle   HorizontalAlign="Center"   />  
  </asp:BoundField>  
  因为gridview会绑定到不同的表,不能够写死了!该怎么办呢? 问题点数:20、回复次数:18Top

1 楼flysky913()回复于 2006-03-17 22:48:54 得分 0

补充一点,也不能够用select   gain_name,gain_num   from   gain.因为我要讲主键gain_id读取出来,但有不能够讲主键显示在gridview中!Top

2 楼cdsun()回复于 2006-03-17 22:52:06 得分 0

让不显示的那个列隐藏起来行不行Top

3 楼zhoumins(zm)回复于 2006-03-17 22:54:04 得分 10

GRidview里设置,  
  不要自动生成列,逐个添加所需列。Top

4 楼flysky913()回复于 2006-03-17 22:54:04 得分 0

关键是我不知道怎么隐藏,详细解释一下,好吗?Top

5 楼flysky913()回复于 2006-03-17 22:56:15 得分 0

在后台怎么逐个添加显示列呢?我是一个初学者,麻烦指教!Top

6 楼antiking(生活就象拉大便有时顺畅有时不顺畅.)回复于 2006-03-18 09:44:37 得分 5

AutoGenerateColumns="False"   这个设置为false  
  <Columns>  
  <asp:BoundColumn   DataField="tbid"     Visible="false"   ItemStyle-Width="5%"   ItemStyle-ForeColor="#000000"   ItemStyle-BorderColor="#666666"     ItemStyle-Font-Bold="true"   ItemStyle-BackColor="buttonface"   SortExpression="tbid"   HeaderText="流水号">   </asp:BoundColumn>  
  <asp:BoundColumn   DataField="JobNo"     ItemStyle-Width="25%"   SortExpression="JobNo"   ItemStyle-ForeColor="#333366"     ItemStyle-Font-Bold="true"   HeaderText="流水号">   </asp:BoundColumn>  
  <asp:BoundColumn   DataField="JobType"     ItemStyle-Width="20%"     ItemStyle-ForeColor="#333366"   SortExpression="JobType"   HeaderText="货代提单号">   </asp:BoundColumn>  
  <asp:BoundColumn   DataField="BookingDate"     DataFormatString="{0:d}"     ItemStyle-Width="20%"   ItemStyle-ForeColor="#333366"   SortExpression="BookingDate"   HeaderText="订舱日期">   </asp:BoundColumn>  
  <asp:BoundColumn   DataField="BookingDate"     DataFormatString="{0:d}"     ItemStyle-Width="20%"   ItemStyle-ForeColor="#333366"   SortExpression="BookingDate"   HeaderText="处理日期">   </asp:BoundColumn>  
  <asp:BoundColumn   DataField="SpGroup"       ItemStyle-Width="10%"   ItemStyle-ForeColor="#333366"   SortExpression="SpGroup"   HeaderText="区域">   </asp:BoundColumn>  
  </columns>  
  </asp:datagrid>Top

7 楼antiking(生活就象拉大便有时顺畅有时不顺畅.)回复于 2006-03-18 09:45:24 得分 0

别忘记给分Top

8 楼flysky913()回复于 2006-03-18 11:01:48 得分 0

antiking(结构是值类型),谢谢!  
  你这样实现我也知道!但是你这样实现的话gridview就只能够与一个数据库进行绑定,这不是我想要的结果!我现在要的效果是:当点击botton1时在gridview中显示botton1数据表中的内容,当点击botton2时在gridview中显示botton2数据表中的内容。同时要将每个表中的主键读取出来但不显示在gridview中!Top

9 楼flysky913()回复于 2006-03-18 11:08:22 得分 0

我现在的思路AutoGenerateColumns="True"   这个设置为true.根据select语句中读取的字段显示在datagrid中,但是不能够将主键显示在gridview中。  
  楼上zhoumins(zm)   说的不要自动生成列,逐个添加所需列,是指用antiking(结构是值类型)那样的方法增加吗?  
  楼上cdsun()   说的列隐藏是不是指   Visible="false"   ?  
  如果是这样的话好象行不通的!Top

10 楼hblzg(心开风神)回复于 2006-03-18 12:27:36 得分 5

楼主,对于你说的点击一个按钮出现一个表内容,点击另外一个按钮出现另外一个表内容。我的方法是,在页面上建立两个SqlDataSource,用向导很简单的。  
  然后在后台,按钮的click事件中,分别对SqlDataSource进行绑定。  
   
  还有不显示某些列的方法是,创建GridView后,然后编辑列,出现对话框中不勾选自动生成列。  
  将不显示的主键移除就可以了。  
  Top

11 楼flysky913()回复于 2006-03-18 19:55:27 得分 0

hblzg(心开风神)   的方法行的通吗?我先去试试看!Top

12 楼dh20156(风之石)回复于 2006-03-18 21:22:39 得分 0

用不同的SqlDataSource绑定到同一个GridView是比较有效的方法。Top

13 楼axe1920(有时想看看)回复于 2006-03-18 21:44:02 得分 0

因为使用databind好像能使数据刷新并重新显示,msdn中好像有类似的代码,大概是点一个grid中相应button后会在旁边的的一个grid中或加或减一行Top

14 楼job_2006(初学.net)回复于 2006-03-18 21:47:12 得分 0

帮你顶一下Top

15 楼flysky913()回复于 2006-03-18 23:04:13 得分 0

建立两个SqlDataSource,然后绑定的话怎么将不显示的主键移除了?  
  因为我要将两个SqlDataSource中涉及到的表中的主键都不显示!Top

16 楼flysky913()回复于 2006-03-19 19:09:19 得分 0

试了一下,如果建立两个SqlDataSource的话可以绑定.但仍然解决不了不显示主键的问题!请问在onclick事件中对对sqldatasource进行绑定后怎么样解决不显示主键的问题呢?Top

17 楼haojian(鸡急了也会飞)回复于 2006-03-19 19:33:24 得分 0

编辑列里将主键列移除  
  Top

18 楼flysky913()回复于 2006-03-20 13:45:53 得分 0

谢谢各位的帮助,关心,支持!问题我自己已经解决了!  
  在后台动态的加入列,用GridView.Columns.Add(),加入你想要加入的列就可以了!  
  haojian(鸡急了也会飞)   :你说的在编辑列里将主键列移除在我这里行不通的!Top

相关问题

  • asp.net2 Gridview 问题
  • gridview分页
  • gridview问题
  • GridView问题
  • DevExpress.XtraGrid.Views.Grid.GridView gridview的问题!!
  • GridView问题探讨
  • GridView分页问题
  • ASP.net 2.0 的 GridView的问题
  • ASP.Net 2.0 下 GridView 的问题
  • DetailsView 连接到 GridView问题

关键词

  • 解决
  • 内容
  • gridview
  • 显示
  • sqldatasource
  • 主键
  • botton
  • 表
  • 绑定
  • sqlconn

得分解答快速导航

  • 帖主:flysky913
  • zhoumins
  • antiking
  • hblzg

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo