datagrid里某一列为textbox,输入数据后如何存储到数据库并计算?
datagrid代码如下:
<asp:datagrid id="dgd_abc" runat="server" Width="503px" DataKeyField="CId" OnPageIndexChanged="DataGrid_Page" AllowPaging="False" PageSize="5" AutoGenerateColumns="False" DESIGNTIMEDRAGDROP="21">
<Columns>
<asp:BoundColumn DataField="cid" ReadOnly="True" HeaderText="项目号"></asp:BoundColumn>
<asp:BoundColumn DataField="cname" ReadOnly="True" HeaderText="考核名称"></asp:BoundColumn>
<asp:BoundColumn DataField="ccountrynm" ReadOnly="True" HeaderText="考核总分"></asp:BoundColumn>
<asp:BoundColumn DataField="Pt" ReadOnly="True" HeaderText="得分"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="评分">
<ItemTemplate>
<asp:textbox id="Textbox1" runat="server" Width="89px"></asp:textbox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:datagrid></FONT></DIV>
其中第五列设为textbox,请问如何使:
1。启动页面后,在每行的textbox里输入数据,然后按button1,可以把它们的值保存在sql server的某个表当中,表字段名就是它们在datagrid同行第一列的数据名?
2。启动页面后,在每行的textbox里输入数据,然后按button2,计算每个textbox的数据之和?
谢谢!
问题点数:0、回复次数:4Top
1 楼dwfxh123(甜瓜)回复于 2005-04-09 13:47:10 得分 0
upTop
2 楼sean168(最爱拉布拉多)回复于 2005-04-09 14:04:21 得分 0
ItemDataBound里面
if(e.Item.ItemIndex > -1)
{
TextBox tb1=(TextBox)e.Item.FindControl("TextBox1");
}
button1_Click里面
{
取tb1.text的值插入数据库
}
同理button2_Click
Top
3 楼terryshi(terryshi)回复于 2005-04-09 14:13:53 得分 0
FindControl是关键,是用来找容器内的控件的。要注意控件类型。Top
4 楼thundersoft(神州春雷)回复于 2005-04-09 19:18:21 得分 0
楼上的e.Item.ItemIndex 是对DataGrid操作产生的事件,在Button_Click中的e是不一样的,是取不到DataGrid 的Item的;
我想就是循环:
for (int i=0;i<myDg.Items.Count;i++)
{
TextBox cb = (TextBox)myDg.Items[i].FindControl("Checkboxid");
if (cb!=null)
{
取到了checkbox中得值,保存到数据库;注意i是datagrid中对应的item
}
}Top




