批量获取DataGrid控件模板列中的数据

本文介绍了一种在ASP.NET中批量获取DataGrid控件模板列数据的方法,通过遍历控件来实现对表格中数据的有效读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
 
 
 
 
 
 
 首页互联网IT动态服务器通信安全网页设计WindowsJava.NetLinux平面设计华为Cisco笑话论坛
 XMLJ2EEJ2ME开源技术手机FlashPhotoshop3DMaxC#VB.NETASP.NET编程技术多媒体Mysql博客网络学院
  
 

 
 
今天是2006年11月30日    星期四 linux下载频道全新开通
  
 
 
 
 栏目分类 
   
 资讯动态|ASP.NET|C#|XML/WebService|ADO.NET|VC.NET|VB.NET|.NET Framework 
   
 
 
 排行榜 
   
 ·C++中运算符优先级的学习注解
·我的ATL/ADO编程的曲折经历
·VC++.NET中定义和使用MFCDLL
·VC++编程隐藏计算机中的鼠标
·我的VisualC++入门之路
·编程规范-c语言的编程风格
·C++/CLI基本数据类型探索
·同时绑定编码和名称到ComboBox控件(WinForm)
·VC++2005快速构建安全的应用程序
·用VC.NET制作启动屏幕的新方法
 
 
    您现在的位置: Linux 宝库 >> .Net >> VC.NET >> 文章正文
  
   
批量获取DataGrid控件模板列中的数据
Linuxmine收集整理  作者:linux宝库 (http://www.linuxmine.com)  时间:2006-11-29  收藏本站
  
 
 
 
 
来自:linux宝库 (http://www.linuxmine.com)
联系:linuxmine#gmail.com
分类:[VC.NET]

<script src="http://cpro.baidu.com/cpro/ui/ui.js" type="text/javascript"> </script> marginwidth="0" marginheight="0" src="http://cpro.baidu.com/cpro/ui/uijs.php?&uid=353007&n=linuxmine_cpr&tm=20&cm=76&um=26&rsi0=559&rsi1=120&wn=1&hn=4&rssl0=right&rssl1=bottom&rsi2=0&rss0=%23ffffff&rss1=%23ffffff&rss2=%230000cc&rss3=%23000000&rss4=%230000cc&rss5=%23ffffff&rad=1&word=http%3A%2F%2Fwww.linuxmine.com%2F48458.html " frameborder="0" width="559" scrolling="no" height="120" allowtransparency="allowtransparency">

·上一篇:体验VisualStudio2005中C++语言
·下一篇:VisualC++2005中混合代码的初始化

不明白?欢迎到 linux论坛(http://bbs.linuxmine.com)参加讨论!
尚观Linux研究室推出——Linux/UNIX操作系统一网打尽!


  在DataGrid中一般只能单个获取每一行的数据,若要批量获取DataGrid控件中的数据必须对每一个模板列的控件进行扫描,获取其中的数据。
  
  我本想做的程序是根据不同的行数,由用户一次输入若干数据,提交后系统自动获取批量数据的程序。
  
  以下程序简单表达了需要实现的功能
  
  test.aspx
  
  ..........
  
  <asp:DataGrid id="dgResult" runat="server" BorderColor="#DEBA84" BorderStyle="None" CellSpacing="2"
  BorderWidth="1px" BackColor="#DEBA84" CellPadding="3" AutoGenerateColumns="False">
  <FooterStyle ForeColor="#8C4510" BackColor="#F7DFB5"></FooterStyle>
  <SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#738A9C"></SelectedItemStyle>
  <ItemStyle ForeColor="#8C4510" BackColor="#FFF7E7"></ItemStyle>
  <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#A55129"></HeaderStyle>
  <Columns>
  <asp:BoundColumn DataField="id" HeaderText="列号"></asp:BoundColumn>
  <asp:TemplateColumn HeaderText="列名">
  <ItemTemplate>
  <asp:TextBox Runat="server" Enabled="True" Width="50" ID="col"></asp:TextBox>
  </ItemTemplate>
  </asp:TemplateColumn>
  <asp:TemplateColumn HeaderText="整数精度">
  <ItemTemplate>
  <asp:TextBox Runat="server" Enabled="True" ID="Textbox1" Width="50">20</asp:TextBox>
  </ItemTemplate>
  </asp:TemplateColumn>
  <asp:TemplateColumn HeaderText="小数点精度">
  <ItemTemplate>
  <asp:TextBox Runat="server" Enabled="True" ID="Textbox2" Width="50">10</asp:TextBox>
  </ItemTemplate>
  </asp:TemplateColumn>
  </Columns>
  <PagerStyle HorizontalAlign="Center" ForeColor="#8C4510" Mode="NumericPages"></PagerStyle>
  
  </asp:DataGrid>
  <asp:Button id="btnOK" runat="server" Text="提交"></asp:Button>
  ......
  
  test.aspx.cs
  
  private void Page_Load(object sender, System.EventArgs e)
  {
  // 在此处放置用户代码以初始化页面
  if(!IsPostBack)
  mfbind(DataSource());
  }
  
  private IList DataSource()
  {
  DataTable dt=new DataTable();
  DataColumn dc=new DataColumn();
  dc.ColumnName="id";
  dc.DataType=System.Type.GetType("System.Int32");
  dc.ReadOnly=true;
  dc.Unique=true;
  dc.AutoIncrement=true;
  dc.AutoIncrementSeed=0;
  dc.AutoIncrementStep=1;
  dt.Columns.Add(dc);
  
  dc=new DataColumn();
  dc.ColumnName="列名称";
  dc.DataType=System.Type.GetType("System.String");
  dt.Columns.Add(dc);
  
  for(int i=0;i<10;i++)
  {
  DataRow dr=dt.NewRow();
  dr[1]=i;
  dt.Rows.Add(dr);
  }
  Session["Source"] = dt;
  return dt.DefaultView;
  }
  private void mfbind(IList dv)
  {
  this.dgResult.DataSource=(DataView)dv;
  this.dgResult.DataBind();
  }
  private void btnOK_Click(object sender, System.EventArgs e)
  {
  //string tmpa=dgResult__ctl2_col1.Text;
  TextBox txt;
  ArrayList mArr=new ArrayList();
  for(int i=0;i<10;i++)
  {
  txt=new TextBox();
  txt=(TextBox)dgResult.Items[i].FindControl("col");
  mArr.Add(txt.Text);
  }
  for(int i=0;i<mArr.Count;i++)
  this.lblProblem.Text+=mArr[i].ToString()+" ; ";
  
  }
  
  其实这样的程序有共通性,通过DataGrid控件可以对数据进行批量处理,特别是对删除数据等操作的过程中使用起来及其方便快捷,只要将程序的模板列中的TextBox控件改为CheckBox控件或者DropDownList控件,扫描所有的子控件就可以实现对数据的批量快速删除、修改等操作。




不明白?欢迎到 linux论坛(http://bbs.linuxmine.com)参加讨论!
尚观Linux研究室推出——Linux/UNIX操作系统一网打尽!

·上一篇:体验VisualStudio2005中C++语言
·下一篇:VisualC++2005中混合代码的初始化

 
   
 
     今日更新
   
·批量获取DataGrid控件模板列中的数据(2006-11-30)
·VC++.NET中定义和使用MFCDLL(2006-11-30)
·Biztalk开发之架构的发布(2006-11-29)
·编程规范-c语言的编程风格(2006-11-29)
·编程实现动态生成程序技术(2006-11-29)
·C++中运算符优先级的学习注解(2006-11-29)
·用VC.NET制作启动屏幕的新方法(2006-11-29)
·体验VisualStudio2005中C++语言(2006-11-29)
·VisualC++2005中混合代码的初始化(2006-11-29)
·我的ATL/ADO编程的曲折经历(2006-11-29)
·C++/CLI基本数据类型探索(2006-11-29)
·.NET重要技术思考-DCOM的技术(2006-11-29)
·使用Command和DataReader对象加速访问(2006-11-29)
·.NETCompactFramework概览(2006-11-29)
·VS.NET2005中用C++开发Native代码(2006-11-29)
·用VisualC++在局域网实现IP多播(2006-11-29)
·.NET下的另类系统发布和自动更新(2006-11-29)
·C++对象布局及多态实现之动态和强制转换(2006-11-29)
·我的VisualC++入门之路(2006-11-29)
·DevExpress的DateEdit控件显示日期的周名(2006-11-29)
  

关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | linux下载 | 网址大全 | 友情链接 | 免费注册

 

Copyright © 2004 - 2006 All Rights Reserved

[京ICP备06004652号]

Alexa Certified Traffic Ranking for linuxmine.com
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值