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

来源:互联网 发布:网络借贷被骗了怎么办 编辑:程序博客网 时间:2024/06/05 19:06
                首页 互联网 IT动态 服务器 通信 安全 网页设计 Windows Java .Net Linux 平面设计 华为 Cisco 笑话 论坛   XML J2EE J2ME 开源技术 手机 Flash Photoshop 3DMax C# VB.NET ASP.NET 编程技术 多媒体 Mysql 博客 网络学院      
    今天是2006年11月30日    星期四 linux下载频道全新开通 <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </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 src="http://cpro.baidu.com/cpro/ui/ui.js" type="text/javascript"></script> <iframe marginwidth="0" marginheight="0" src="http://cpro.baidu.com/cpro/ui/uijs.php?&amp;uid=353007&amp;n=linuxmine_cpr&amp;tm=20&amp;cm=76&amp;um=26&amp;rsi0=559&amp;rsi1=120&amp;wn=1&amp;hn=4&amp;rssl0=right&amp;rssl1=bottom&amp;rsi2=0&amp;rss0=%23ffffff&amp;rss1=%23ffffff&amp;rss2=%230000cc&amp;rss3=%23000000&amp;rss4=%230000cc&amp;rss5=%23ffffff&amp;rad=1&amp;word=http%3A%2F%2Fwww.linuxmine.com%2F48458.html " frameborder="0" width="559" scrolling="no" height="120" allowtransparency="allowtransparency"></iframe>

·上一篇:体验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   #floater {LEFT: 4px; POSITION: absolute; TOP: 0px; VISIBILITY: visible; Z-INDEX: 10}
#slidearea { width:180px; height:71px; margin: 0 auto; } #slidearea img {width:180px; height:71px; } #slidefooter {width:180px; height: 27px; margin: 0 auto;} #slidenext, #slideprev {display: block; width: 20px; height: 27px; overflow: hidden; line-height: 27px; } #slideprev {float: left; } #slidenext {float: right; } #slidetext { margin: 0; line-height: 27px; width:140px !important; width:134px; height: 27px; overflow: hidden; text-align: center; }
 
原创粉丝点击