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

原创 2005年03月03日 15:30:00

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

在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控件,扫描所有的子控件就可以实现对数据的批量快速删除、修改等操作。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

动态创建模板列并绑定数据(GridView,Repeater,DataGrid)

动态创建模板列并绑定数据(GridView,Repeater,DataGrid) 要创建动态模板,请创建以后需要时可实例化的模板类。 创建模板类 创建实现 System....

WPF数据处理控件DataGrid :CRUD操作入门经典

前几天打算尝试下DataGrid的用法,起初以为应该很简单,可后来被各种使用方法和功能实现所折磨。网络上的解决方法太多,但也太杂。没法子,我只好硬着头皮阅览各种文献资料,然后不断的去尝试,总算小有成果...

在ArrayCollection和DataGrid代码例举下展示的Flex控件、数据结构乃至flex语言存在的衍生性和关联性

本文简单讲述了DataGrid等控件在利用labelField\labelFunction等属性进行功能性扩展和展示了使用Array、ArrayList、ArrayCollection等数据结构作为数...

DataGrid中的子控件Combox之数据源绑定(WPF)

看到同事有一个这样的需求,自己就写了一个小例子 如何根据DataGrid中Combox中选择的值将对应的数据显示到DataGrid中 创建了 三个数据源   List SelectionList...

WPF数据表格控件Xceed DataGrid for WPF详细介绍

Xceed DataGrid(Windows Presentation Foundation)是一款来自龙博方案网的表格控制组件,它具有类似于Vista、XP、媒体中心或经典风格的传统表格以及卡片浏览...

WPF 中DataGrid控件绑定数据的一个例子

XAML 代码如下:

DataGrid 控件中显示 SQL Server 数据库中的数据

在实例中,将从 SQL Server 数据库检索数据,并在 DataGrid 控件中显示该数据。 您可以使用 ADO.NET Entity Framework 创建代表数据的实体类,使用 LINQ 编...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)