欢迎光临
我们一直在努力

批量获取DataGrid控件模板列中的数据-.NET教程,数据库应用

建站超值云服务器,限时71元/月

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 批量获取DataGrid控件模板列中的数据-.NET教程,数据库应用
分享到: 更多 (0)

相关推荐

  • 暂无文章