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

《EasyUI + MVC + EF +WCF》——实现对Datagrid中数据的批量修改或保存

这两天在干组织部项目的时候,用到了EasyUI的可编辑表格,这时候用户在保存,修改信息的时候变得方便多了,因为这样可以直接在表格中更改数据,不用再选中数据后然后点击编辑,最后弹出一个部分视图来,将待修...
  • u013067402
  • u013067402
  • 2016年03月01日 10:23
  • 1536

easyui datagrid 数据组装格式

这两天开发报表,用到了easyui datagrid 数据表,记录一下:    在页面中只需要:                                                 ...
  • u013303551
  • u013303551
  • 2016年10月19日 16:10
  • 1368

JS处理EasyUI DataGrid获取到的数据

在EasyUI DataGrid的使用中,通过后台java springMVC代码返回一个List>类型的值,给前台javascript,针对返回的数据,我们还需要进行处理或操作。查看EasyUI 的...
  • u014650759
  • u014650759
  • 2017年12月07日 12:39
  • 132

数据绑定——DataGrid

绑定数据
  • wgp15732622312
  • wgp15732622312
  • 2016年05月15日 17:14
  • 515

【EasyUi DataGrid】批量修改提交

在实际操作中,批量修改的例子有很多,最常用的一种便是“假批量修改”,即修改一行后,当点击其它行时就把这行修改后的数据提交,拥有保存功能的“保存”按钮,说到底就是为我们修改的最后一行准备的(例如:Nav...
  • chenyanmoting
  • chenyanmoting
  • 2015年07月31日 15:05
  • 3258

EasyUI_datagrid实现动态加载列并为其绑定数据

最近项目中遇到了这么一个需求,在datagrid中显示的数据需要动态的加载,也就是说表格中显示的列是不固 定的,显示的列的名称和列的数量都是不固定的,这些数据都是需要我们从后台拿来数据然后在动态的绑...
  • u013045437
  • u013045437
  • 2016年03月06日 23:24
  • 4693

DataGrid 自定义字段内容

因为DataGrid Web 控件的AutoGenerateColumn 属性预设为True,表示会自动产生数据源中所有的字段。如果我们想自订DataGrid Web 控制所要显示的字段,只要将Aut...
  • limshirley
  • limshirley
  • 2017年04月17日 14:16
  • 449

GridView中动态添加模板列和其子控件集合

一、实施说明: 1 实施原因: 因为在做一个MOSS WebPart控件时候,遇到一个问题,如何选择需要导出的数据列; GridView的数据源是动态的,所以没有办法静态使用模板列,...
  • y29508968
  • y29508968
  • 2016年12月04日 11:09
  • 865

EasyUI-DataGrid之批量删除

简单介绍一下,涉及到的几个知识点:      1.checkbox,多选      2.前台到后台传值,我用的是字符串拼接,到了后台在拆分的方式      3.批量删除的底层实现 效果图      ...
  • caozhangyingfei0109
  • caozhangyingfei0109
  • 2015年01月12日 12:26
  • 13912

使用JQuery EasyUI 中的DataGrid控件实现数据的提取和显示

第一步:定义dao接口
  • tangliuqing
  • tangliuqing
  • 2014年06月23日 23:54
  • 1604
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:批量获取DataGrid控件模板列中的数据
举报原因:
原因补充:

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