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

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

 
 
今天是2006年11月30日    星期四 linux下载频道全新开通
<script type="text/javascript"> function myAddPanel(title,url,desc) { if ((typeof window.sidebar == 'object') && (typeof window.sidebar.addPanel == 'function')) window.sidebar.addPanel(title,url,desc); else window.external.AddFavorite(url,title); } </script> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-437782-1"; urchinTracker(); </script>
  
 
 
 
 栏目分类 
   
 资讯动态|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 type="text/javascript"> var arrBaiduCproConfig=new Array(); arrBaiduCproConfig['uid'] =353007; arrBaiduCproConfig['n'] ='linuxmine_cpr'; arrBaiduCproConfig['tm'] =20; arrBaiduCproConfig['cm'] =76; arrBaiduCproConfig['um'] =26; arrBaiduCproConfig['w'] =559; arrBaiduCproConfig['h'] =120; arrBaiduCproConfig['wn'] =1; arrBaiduCproConfig['hn'] =4; arrBaiduCproConfig['ta'] ='right'; arrBaiduCproConfig['tl'] ='bottom'; arrBaiduCproConfig['bu'] =0; arrBaiduCproConfig['bd'] ='#ffffff'; arrBaiduCproConfig['bg'] ='#ffffff'; arrBaiduCproConfig['tt'] ='#0000cc'; arrBaiduCproConfig['ct'] ='#000000'; arrBaiduCproConfig['url'] ='#0000cc'; arrBaiduCproConfig['bdl'] ='#ffffff'; arrBaiduCproConfig['rad'] =1; </script> <script src="http://cpro.baidu.com/cpro/ui/ui.js" type="text/javascript"> </script> <script 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号]

<script language="JavaScript" src="http://xslt.alexa.com/site_stats/js/t/c?url=linuxmine.com" type="text/javascript"></script> Alexa Certified Traffic Ranking for linuxmine.com
 
<script type="text/javascript"> </script> <script language="javascript" type="text/javascript"> var xsImgs = new Array("/images/boke.gif","/images/luntan.gif"); var xsImgLinks = new Array("http://blog.linuxmine.com","http://bbs.linuxmine.com"); var xsImgTexts = new Array("http://blog.linuxmine.com","http://bbs.linuxmine.com"); var xsImgSize = new Array(focus_width, focus_height); </script> <script language="javascript" src="./slide.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript"> self.onError=null; currentX = currentY = 0; whichIt = null; lastScrollX = 0; lastScrollY = 0; NS = (document.layers) ? 1 : 0; IE = (document.all) ? 1: 0; function heartBeat() { if(IE) { diffY = document.body.scrollTop+450; diffX = window.screen.availWidth / 2 + 300; } if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; } if(!IE && !NS) { diffY = document.body.scrollTop + 450; diffX = ((window.screen.availWidth / 2) + 250); } if(diffY != lastScrollY) { percent = .1 * (diffY - lastScrollY); if(percent > 0) percent = Math.ceil(percent); else percent = Math.floor(percent); if(IE) document.all.floater.style.pixelTop += percent; if(NS) document.floater.top += percent; if(!IE && !NS) { document.getElementById("floater").style.top = diffY; } lastScrollY = lastScrollY + percent; } if(diffX != lastScrollX) { percent = .1 * (diffX - lastScrollX); if(percent > 0) percent = Math.ceil(percent); else percent = Math.floor(percent); if(IE) document.all.floater.style.pixelLeft += percent; if(NS) document.floater.left += percent; if(!IE && !NS) { document.getElementById("floater").style.left = diffX; } lastScrollX = lastScrollX + percent; } } function checkFocus(x,y) { stalkerx = document.floater.pageX; stalkery = document.floater.pageY; stalkerwidth = document.floater.clip.width; stalkerheight = document.floater.clip.height; if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true; else return false; } function grabIt(e) { if(IE) { whichIt = event.srcElement; while (whichIt.id.indexOf("floater") == -1) { whichIt = whichIt.parentElement; if (whichIt == null) { return true; } } whichIt.style.pixelLeft = whichIt.offsetLeft; whichIt.style.pixelTop = whichIt.offsetTop; currentX = (event.clientX + document.body.scrollLeft); currentY = (event.clientY + document.body.scrollTop); } else { window.captureEvents(Event.MOUSEMOVE); if(checkFocus (e.pageX,e.pageY)) { whichIt = document.floater; stalkerTouchedX = e.pageX-document.floater.pageX; StalkerTouchedY = e.pageY-document.floater.pageY; } } return true; } function moveIt(e) { if (whichIt == null) { return false; } if(IE) { newX = (event.clientX + document.body.scrollLeft); newY = (event.clientY + document.body.scrollTop); distanceX = (newX - currentX); distanceY = (newY - currentY); currentX = newX; currentY = newY; whichIt.style.pixelLeft += distanceX; whichIt.style.pixelTop += distanceY; if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop; if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft; if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20; if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5; event.returnValue = false; } else { whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY); if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset; if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset; if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17; if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17; return false;} return false; } action = window.setInterval("heartBeat()",1); </script>  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值