嵌套Repeater内的统计问题

暖枫无敌
领域专家: 后端开发技术领域
2011-01-23 11:55:45
首先看图:

说明:
1、前三列在第一层Repeater里绑定,后面的N列在第二层Repeater里绑定。
2、第二层Repeater里的四行数据,是平级的。
3、结构层次如下:
<asp:Repeater ID="rpt1" runat="server" OnItemDataBound="rpt1_ItemDataBound">
<HeadTemplate>
<table>
</HeadTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("v1")%></td>
<td><%#Eval("v2")%></td>
<td><%#Eval("v3")%></td>
<td colspan="35">
<table>
<tr>
<td colspan="35" >
<asp:Repeater ID="rpt2" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>...</td>
...
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>

<tr>
<td colspan="35" >
<asp:Repeater ID="rpt3" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>...</td>
...
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>

<tr>
<td colspan="35" >
<asp:Repeater ID="rpt4" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>...</td>
...
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>

<tr>
<td colspan="35" >
<asp:Repeater ID="rpt5" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem%> </td>
...
<td><%#????????%> </td>
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>

</table>
</td>
</tr>
</ItemTemplate>
嵌套Repeater内的4个不同颜色块是四个tr区域,前三个绑定数据没问题,但是第四个的话,数据要是第三个/第二个取得的百分比数。


我现在想到的办法是,将嵌套内的第二个和第三个Repeater值分别取出来,然后计算将值绑定在一个ArrayList中,再把它作为第四个Repeater的数据源。

第四个Repeater内的td里通过<%#Container.DataItem%>可以获取ArrayList数据,但是现在问题是,第四个Repeater内有很多个td,后面其他的td怎么处理?

麻烦高手们帮忙看看,有什么解决办法,或是有其他什么更好的建议,谢谢!
...全文
166 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
暖枫无敌 2011-01-26
  • 打赏
  • 举报
回复

--百分比视图
drop view v_MB_Prog_v3;
create view v_MB_Prog_v3
(
c_proj_id,
c_proj_year,
c_zonename,
c_proj_c33,
c_year,
c_proj_fsum,
c_proj_f1,
c_proj_f2,
c_proj_f3_4,
c_proj_f5,
c_proj_f6,
c_proj_f7,
c_proj_f11,
c_proj_c39,
c_proj_c18,
c_proj_c11,
c_proj_c12,
c_proj_c40,
c_proj_c24_25,
c_proj_c1_2,
c_proj_c9_10,
c_proj_c3_4,
c_proj_c41,
c_proj_c16,
c_proj_c17,
c_proj_c42,
c_proj_c27,
c_proj_c28,
c_proj_c29,
c_proj_c30,
c_proj_c43,
c_proj_c44,
c_proj_c31,
c_proj_c32,
c_proj_c45,
c_proj_c26,
c_proj_c20,
c_proj_c21,
c_proj_c23,
c_proj_c46,
bz,s1,s2,
bdt,
edt,
yssj,
c_proj_c48,
c_proj_c49,
c_proj_c50,
cysj,
c_proj_c51,
c_proj_c52,
c_proj_b4,
c_proj_b5,
c_proj_b8,
c_proj_b9,
c_proj_b10
)
as
select
v_MB_Prog_v2.c_proj_id,
v_MB_Prog_v2.c_proj_year,
v_MB_Prog_v2.c_zonename,
v_MB_Prog_v2.c_proj_c33,
v_MB_Prog_v2.c_year,
isnull(round(v_MB_Prog_v2.c_proj_fsum/nullif(v_MB_Prog_v1.c_proj_fsum*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_f1/nullif(v_MB_Prog_v1.c_proj_f1*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_f2/nullif(v_MB_Prog_v1.c_proj_f2*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_f3_4/nullif(v_MB_Prog_v1.c_proj_f3_4*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_f5/nullif(v_MB_Prog_v1.c_proj_f5*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_f6/nullif(v_MB_Prog_v1.c_proj_f6*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_f7/nullif(v_MB_Prog_v1.c_proj_f7*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_f11/nullif(v_MB_Prog_v1.c_proj_f11*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c39/nullif(v_MB_Prog_v1.c_proj_c39*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c18/nullif(v_MB_Prog_v1.c_proj_c18*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c11/nullif(v_MB_Prog_v1.c_proj_c11*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c12/nullif(v_MB_Prog_v1.c_proj_c12*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c40/nullif(v_MB_Prog_v1.c_proj_c40*100,0),0),0),

isnull(round(v_MB_Prog_v2.c_proj_c24_25/nullif(v_MB_Prog_v1.c_proj_c24_25*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c1_2/nullif(v_MB_Prog_v1.c_proj_c1_2*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c9_10/nullif(v_MB_Prog_v1.c_proj_c9_10*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c3_4/nullif(v_MB_Prog_v1.c_proj_c3_4*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c41/nullif(v_MB_Prog_v1.c_proj_c41*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c16/nullif(v_MB_Prog_v1.c_proj_c16*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c17/nullif(v_MB_Prog_v1.c_proj_c17*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c42/nullif(v_MB_Prog_v1.c_proj_c42*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c27/nullif(v_MB_Prog_v1.c_proj_c27*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c28/nullif(v_MB_Prog_v1.c_proj_c28*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c29/nullif(v_MB_Prog_v1.c_proj_c29*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c30/nullif(v_MB_Prog_v1.c_proj_c30*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c43/nullif(v_MB_Prog_v1.c_proj_c43*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c44/nullif(v_MB_Prog_v1.c_proj_c44*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c31/nullif(v_MB_Prog_v1.c_proj_c31*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c32/nullif(v_MB_Prog_v1.c_proj_c32*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c45/nullif(v_MB_Prog_v1.c_proj_c45*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c26/nullif(v_MB_Prog_v1.c_proj_c26*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c20/nullif(v_MB_Prog_v1.c_proj_c20*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c21/nullif(v_MB_Prog_v1.c_proj_c21*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c23/nullif(v_MB_Prog_v1.c_proj_c23*100,0),0),0),
isnull(round(v_MB_Prog_v2.c_proj_c46/nullif(v_MB_Prog_v1.c_proj_c46*100,0),0),0),
'4',
(select proj_type from mb_proj where mb_proj.proj_id = v_MB_Prog_v1.c_proj_id) ,
(select proj_pc from mb_proj where mb_proj.proj_id = v_MB_Prog_v1.c_proj_id) ,
v_MB_Prog_v2.bdt,
v_MB_Prog_v2.edt,
v_MB_Prog_v2.yssj,
v_MB_Prog_v2.c_proj_c48,
v_MB_Prog_v2.c_proj_c49,
v_MB_Prog_v2.c_proj_c50,
v_MB_Prog_v2.cysj,
v_MB_Prog_v2.c_proj_c51,
v_MB_Prog_v2.c_proj_c52,
v_MB_Prog_v2.c_proj_b4,
v_MB_Prog_v2.c_proj_b5,
v_MB_Prog_v2.c_proj_b8,
v_MB_Prog_v2.c_proj_b9,
v_MB_Prog_v2.c_proj_b10
from v_MB_Prog_v1,v_MB_Prog_v2
where v_MB_Prog_v1.c_proj_id = v_MB_Prog_v2.c_proj_id and v_MB_Prog_v1.c_year=v_MB_Prog_v2.c_year and v_MB_Prog_v1.bz=2

select * from v_mb_prog_v3;

--视图四
drop view v_mb_prog_v4;
create view v_MB_Prog_v4
(
c_proj_id,
c_proj_year,
c_zonename,
c_proj_c33,
c_year,
c_proj_fsum,
c_proj_f1,
c_proj_f2,
c_proj_f3_4,
c_proj_f5,
c_proj_f6,
c_proj_f7,
c_proj_f11,
c_proj_c39,
c_proj_c18,
c_proj_c11,
c_proj_c12,
c_proj_c40,
c_proj_c24_25,
c_proj_c1_2,
c_proj_c9_10,
c_proj_c3_4,
c_proj_c41,
c_proj_c16,
c_proj_c17,
c_proj_c42,
c_proj_c27,
c_proj_c28,
c_proj_c29,
c_proj_c30,
c_proj_c43,
c_proj_c44,
c_proj_c31,
c_proj_c32,
c_proj_c45,
c_proj_c26,
c_proj_c20,
c_proj_c21,
c_proj_c23,
c_proj_c46,
bz,s1,s2,
bdt,
edt,
yssj,
c_proj_c48,
c_proj_c49,
c_proj_c50,
cysj,
c_proj_c51,
c_proj_c52,
c_proj_b4,
c_proj_b5,
c_proj_b8,
c_proj_b9,
c_proj_b10
)
as

select * from v_mb_prog_v1

union all
select * from v_MB_Prog_v2

union all
select * from v_MB_Prog_v3

select * from v_mb_prog_v4;
暖枫无敌 2011-01-26
  • 打赏
  • 举报
回复
终于还是做出来了,联合多表,做成视图,内层Repeater用一个Repeater实现了。

贴出视图SQL代码:

--视图一 获取固有信息里的统计字段
drop view v_MB_Prog_v1;
create view v_MB_Prog_v1
(
c_proj_id,
c_proj_year,
c_zonename,
c_proj_c33,
c_year,
c_proj_fsum,
c_proj_f1,
c_proj_f2,
c_proj_f3_4,
c_proj_f5,
c_proj_f6,
c_proj_f7,
c_proj_f11,
c_proj_c39,
c_proj_c18,
c_proj_c11,
c_proj_c12,
c_proj_c40,
c_proj_c24_25,
c_proj_c1_2,
c_proj_c9_10,
c_proj_c3_4,
c_proj_c41,
c_proj_c16,
c_proj_c17,
c_proj_c42,
c_proj_c27,
c_proj_c28,
c_proj_c29,
c_proj_c30,
c_proj_c43,
c_proj_c44,
c_proj_c31,
c_proj_c32,
c_proj_c45,
c_proj_c26,
c_proj_c20,
c_proj_c21,
c_proj_c23,
c_proj_c46,
bz,
s1,
s2,
bdt,
edt,
yssj,
c_proj_c48,
c_proj_c49,
c_proj_c50,
cysj,
c_proj_c51,
c_proj_c52,
c_proj_b4,
c_proj_b5,
c_proj_b8,
c_proj_b9,
c_proj_b10
)
as
select
c_proj_id,
c_proj_year,
c_zonename,
c_proj_c33,
case c_proj_typeinfo
when '1' then CAST ( c_proj_year AS int ) + 2
when '2' then CAST ( c_proj_year AS int )
when '3' then CAST ( c_proj_year AS int )
when '4' then CAST ( c_proj_year AS int ) + 1
when '5' then CAST ( c_proj_year AS int ) + 1
when '6' then CAST ( c_proj_year AS int ) + 2
when '7' then CAST ( c_proj_year AS int ) + 2
end ,
isnull(c_proj_f1+c_proj_f2+c_proj_f3+c_proj_f4+c_proj_f5+c_proj_f6+c_proj_f7,0) as c_proj_fsum,
isnull(c_proj_f1,0) as c_proj_f1,
isnull(c_proj_f2,0) as c_proj_f2,
isnull(c_proj_f3+c_proj_f4,0) as c_proj_f3_4,
isnull(c_proj_f5,0) as c_proj_f5,
isnull(c_proj_f6,0) as c_proj_f6,
isnull(c_proj_f7,0) as c_proj_f7,
isnull(c_proj_f11,0) as c_proj_f11,
isnull(c_proj_c39,0) as c_proj_c39 ,
isnull(c_proj_c18,0) as c_proj_c18,
isnull(c_proj_c11,0) as c_proj_c11,
isnull(c_proj_c12,0) as c_proj_c12,
isnull(c_proj_c40,0) as c_proj_c40,
isnull(c_proj_c24+c_proj_c25,0) as c_proj_c24_25,
isnull(c_proj_c1+c_proj_c2,0) as c_proj_c1_2,
isnull(c_proj_c9+c_proj_c10,0) as c_proj_cf9_10,
isnull(c_proj_c3+c_proj_c4,0) as c_proj_c3_4,
isnull(c_proj_c41,0) as c_proj_c41,
isnull(c_proj_c16,0) as c_proj_c16,
isnull(c_proj_c17,0) as c_proj_c17,
isnull(c_proj_c42,0) as c_proj_c42,
isnull(c_proj_c27,0) as c_proj_c27,
isnull(c_proj_c28,0) as c_proj_c28,
isnull(c_proj_c29,0) as c_proj_c29,
isnull(c_proj_c30,0) as c_proj_c30,
isnull(c_proj_c43,0) as c_proj_c43,
isnull(c_proj_c44,0) as c_proj_c44,
isnull(c_proj_c31,0) as c_proj_c31,
isnull(c_proj_c32,0) as c_proj_c32,
isnull(c_proj_c45,0) as c_proj_c45,
isnull(c_proj_c26,0) as c_proj_c26,
isnull(c_proj_c20,0) as c_proj_c20,
isnull(c_proj_c21,0) as c_proj_c21,
isnull(c_proj_c23,0) as c_proj_c23,
isnull(c_proj_c46,0) as c_proj_c46,

(case c_proj_typeinfo
when '2' then 1
when '3' then 2
when '4' then 1
when '5' then 2
when '6' then 1
when '7' then 2
else 0
end),
(select proj_type from mb_proj where mb_proj.proj_id = MB_Prog_GYXX.c_proj_id) ,
(select proj_pc from mb_proj where mb_proj.proj_id = MB_Prog_GYXX.c_proj_id),
(select c_bdt from mb_proj where mb_proj.proj_id = MB_Prog_GYXX.c_proj_id),
(select c_edt from mb_proj where mb_proj.proj_id = MB_Prog_GYXX.c_proj_id),
yssj,
c_proj_c48,
c_proj_c49,
c_proj_c50,
cysj,
c_proj_c51,
c_proj_c52,
c_proj_b4,
c_proj_b5,
c_proj_b8,
c_proj_b9,
c_proj_b10
from MB_Prog_GYXX

select * from v_MB_Prog_v1;

drop view v_mb_prog_v2;
create view v_MB_Prog_v2
(
c_proj_id,
c_proj_year,
c_zonename,
c_proj_c33,
c_year,
c_proj_fsum,
c_proj_f1,
c_proj_f2,
c_proj_f3_4,
c_proj_f5,
c_proj_f6,
c_proj_f7,
c_proj_f11,
c_proj_c39,
c_proj_c18,
c_proj_c11,
c_proj_c12,
c_proj_c40,
c_proj_c24_25,
c_proj_c1_2,
c_proj_c9_10,
c_proj_c3_4,
c_proj_c41,
c_proj_c16,
c_proj_c17,
c_proj_c42,
c_proj_c27,
c_proj_c28,
c_proj_c29,
c_proj_c30,
c_proj_c43,
c_proj_c44,
c_proj_c31,
c_proj_c32,
c_proj_c45,
c_proj_c26,
c_proj_c20,
c_proj_c21,
c_proj_c23,
c_proj_c46,
bz,s1,s2,
bdt,
edt,
yssj,
c_proj_c48,
c_proj_c49,
c_proj_c50,
cysj,
c_proj_c51,
c_proj_c52,
c_proj_b4,
c_proj_b5,
c_proj_b8,
c_proj_b9,
c_proj_b10
)
as
select
t1.c_proj_id,
t1.c_proj_year,
t1.c_zonename,
t1.c_proj_c33,
year(t1.c_dt) as c_year,
isnull(t1.c_proj_f1+t1.c_proj_f2+t1.c_proj_f3+t1.c_proj_f4+t1.c_proj_f5+t1.c_proj_f6+t1.c_proj_f7,0) as c_proj_fsum,
isnull(t1.c_proj_f1,0) as c_proj_f1,
isnull(t1.c_proj_f2,0) as c_proj_f2,
isnull(t1.c_proj_f3+t1.c_proj_f4,0) as c_proj_f3_4,
isnull(t1.c_proj_f5,0) as c_proj_f5,
isnull(t1.c_proj_f6,0) as c_proj_f6,
isnull(t1.c_proj_f7,0) as c_proj_f7,
isnull(t1.c_proj_f11,0) as c_proj_f11,
isnull(t1.c_proj_c39,0) as c_proj_c39 ,
isnull(t1.c_proj_c18,0) as c_proj_c18,
isnull(t1.c_proj_c11,0) as c_proj_c11,
isnull(t1.c_proj_c12,0) as c_proj_c12,
isnull(t1.c_proj_c40,0) as c_proj_c40,
isnull(t1.c_proj_c24+t1.c_proj_c25,0) as c_proj_c24_25,
isnull(t1.c_proj_c1+t1.c_proj_c2,0) as c_proj_c1_2,
isnull(t1.c_proj_c9+t1.c_proj_c10,0) as c_proj_cf9_10,
isnull(t1.c_proj_c3+t1.c_proj_c4,0) as c_proj_c3_4,
isnull(t1.c_proj_c41,0) as c_proj_c41,
isnull(t1.c_proj_c16,0) as c_proj_c16,
isnull(t1.c_proj_c17,0) as c_proj_c17,
isnull(t1.c_proj_c42,0) as c_proj_c42,
isnull(t1.c_proj_c27,0) as c_proj_c27,
isnull(t1.c_proj_c28,0) as c_proj_c28,
isnull(t1.c_proj_c29,0) as c_proj_c29,
isnull(t1.c_proj_c30,0) as c_proj_c30,
isnull(t1.c_proj_c43,0) as c_proj_c43,
isnull(t1.c_proj_c44,0) as c_proj_c44,
isnull(t1.c_proj_c31,0) as c_proj_c31,
isnull(t1.c_proj_c32,0) as c_proj_c32,
isnull(t1.c_proj_c45,0) as c_proj_c45,
isnull(t1.c_proj_c26,0) as c_proj_c26,
isnull(t1.c_proj_c20,0) as c_proj_c20,
isnull(t1.c_proj_c21,0) as c_proj_c21,
isnull(t1.c_proj_c23,0) as c_proj_c23,
isnull(t1.c_proj_c46,0) as c_proj_c46,
'3',
(select proj_type from mb_proj where mb_proj.proj_id = t1.c_proj_id) ,
(select proj_pc from mb_proj where mb_proj.proj_id = t1.c_proj_id),
(select c_bdt from mb_proj where mb_proj.proj_id = t1.c_proj_id) ,
(select c_edt from mb_proj where mb_proj.proj_id = t1.c_proj_id) ,
t1.yssj,
t1.c_proj_c48,
t1.c_proj_c49,
t1.c_proj_c50,
t1.cysj,
t1.c_proj_c51,
t1.c_proj_c52,
t1.c_proj_b4,
t1.c_proj_b5,
t1.c_proj_b8,
t1.c_proj_b9,
t1.c_proj_b10
from mb_prog t1
where c_dt in (select max(t2.c_dt) from mb_prog t2 where t1.c_proj_id=t2.c_proj_id and year(t1.c_dt) = year(t2.c_dt))

select * from v_mb_prog_v2;
子夜__ 2011-01-24
  • 打赏
  • 举报
回复
好困!睡觉了 明儿看!
RHCL 2011-01-24
  • 打赏
  • 举报
回复
感觉上这个表显示的数据形式不用嵌套好点.
建议把可以用linq把查询出来的数据归纳为和"此表格的一行数据作为一个成员"的集合,若数据量不大完全可以在内存里就组装好这个数据源的模型直接使用一个repeat绑定.
导言 创建一个数据访问层 创建一个业务逻辑层 母板页和站点导航 基本报表 使用ObjectDataSource展现数据 声明参数 编程设置ObjectDataSource的参数值 主/从 使用DropDownList过滤的主/从报表 使用两个DropDownList过滤的主/从报表 跨页面的主/从报表 使用GridView 和DetailView实现的主/从报表 自定义格式化 基于数据的自定义格式化 在GridView控件中使用TemplateField 在DetailsView控件中使用TemplateField 使用FormView 的模板 在GridView的页脚中显示统计信息 编辑插入和删除数据 概述插入、更新和删除数据 研究插入、更新和删除的关联事件 在ASP.NET页面中处理BLL/DAL层的异常 给编辑和新增界面增加验证控件 定制数据修改界面 实现开放式并发 为删除数据添加客户端确认 基于用户对修改数据进行限制 分页和排序 分页和排序报表数据 大数据量时提高分页的效率 排序自定义分页数据 创建自定义排序用户界面 自定义按钮行为 GridView里的Button 使用DataList和Repeater显示数据 用DataList和Repeater来显示数据 格式化DataList和Repeater的数据 使用DataList来一行显示多条记录 数据控件的嵌套 使用DataList和Repeater过滤数据 使用DropDownList过滤的主/从报表 跨页面的主/从报表 使用Repeater和DataList实现的主/从报表 使用DataList编辑和删除数据 综叙:在DataList里编辑和删除数据 批量更新 处理BLL和DAL的异常 在编辑和插入界面里添加验证控件 自定义DataList编辑界面 实现开放式并发 为删除数据添加客户端确认 基于用户对修改数据进行限制 DataList和Repeater的分页和排序 DataList和Repeater数据分页 DataList和Repeater数据排序(一) DataList和Repeater数据排序(二) DataList和Repeater数据排序(三) DataList和Repeater的自定义按钮行为 DataList和Repeater里的自定义button 从ASP.NET页面直接访问数据库 47 使用SqlDataSource 控件查询数据(Reeezak) 48 在SqlDataSource中使用参数化查询(Reeezak) 49 使用SqlDataSource插入、更新以及删除数据(Reeezak
导言 创建一个数据访问层 创建一个业务逻辑层 母板页和站点导航 基本报表 使用ObjectDataSource展现数据 声明参数 编程设置ObjectDataSource的参数值 主/从 使用DropDownList过滤的主/从报表 使用两个DropDownList过滤的主/从报表 跨页面的主/从报表 使用GridView 和DetailView实现的主/从报表 自定义格式化 基于数据的自定义格式化 在GridView控件中使用TemplateField 在DetailsView控件中使用TemplateField 使用FormView 的模板 在GridView的页脚中显示统计信息 编辑插入和删除数据 概述插入、更新和删除数据 研究插入、更新和删除的关联事件 在ASP.NET页面中处理BLL/DAL层的异常 给编辑和新增界面增加验证控件 定制数据修改界面 实现开放式并发 为删除数据添加客户端确认 基于用户对修改数据进行限制 分页和排序 分页和排序报表数据 大数据量时提高分页的效率 排序自定义分页数据 创建自定义排序用户界面 自定义按钮行为 GridView里的Button 使用DataList和Repeater显示数据 用DataList和Repeater来显示数据 格式化DataList和Repeater的数据 使用DataList来一行显示多条记录 数据控件的嵌套 使用DataList和Repeater过滤数据 使用DropDownList过滤的主/从报表 跨页面的主/从报表 使用Repeater和DataList实现的主/从报表 使用DataList编辑和删除数据 综叙:在DataList里编辑和删除数据 批量更新 处理BLL和DAL的异常 在编辑和插入界面里添加验证控件 自定义DataList编辑界面 实现开放式并发 为删除数据添加客户端确认 基于用户对修改数据进行限制 DataList和Repeater的分页和排序 DataList和Repeater数据分页 DataList和Repeater数据排序(一) DataList和Repeater数据排序(二) DataList和Repeater数据排序(三) DataList和Repeater的自定义按钮行为 DataList和Repeater里的自定义button 从ASP.NET页面直接访问数据库 47 使用SqlDataSource 控件查询数据(Reeezak) 48 在SqlDataSource中使用参数化查询(Reeezak) 49 使用SqlDataSource插入、更新以及删除数据(Reeezak
导言 创建一个数据访问层 创建一个业务逻辑层 母板页和站点导航 基本报表 使用ObjectDataSource展现数据 声明参数 编程设置ObjectDataSource的参数值 主/从 使用DropDownList过滤的主/从报表 使用两个DropDownList过滤的主/从报表 跨页面的主/从报表 使用GridView 和DetailView实现的主/从报表 自定义格式化 基于数据的自定义格式化 在GridView控件中使用TemplateField 在DetailsView控件中使用TemplateField 使用FormView 的模板 在GridView的页脚中显示统计信息 编辑插入和删除数据 概述插入、更新和删除数据 研究插入、更新和删除的关联事件 在ASP.NET页面中处理BLL/DAL层的异常 给编辑和新增界面增加验证控件 定制数据修改界面 实现开放式并发 为删除数据添加客户端确认 基于用户对修改数据进行限制 分页和排序 分页和排序报表数据 大数据量时提高分页的效率 排序自定义分页数据 创建自定义排序用户界面 自定义按钮行为 GridView里的Button 使用DataList和Repeater显示数据 用DataList和Repeater来显示数据 格式化DataList和Repeater的数据 使用DataList来一行显示多条记录 数据控件的嵌套 使用DataList和Repeater过滤数据 使用DropDownList过滤的主/从报表 跨页面的主/从报表 使用Repeater和DataList实现的主/从报表 使用DataList编辑和删除数据 综叙:在DataList里编辑和删除数据 批量更新 处理BLL和DAL的异常 在编辑和插入界面里添加验证控件 自定义DataList编辑界面 实现开放式并发 为删除数据添加客户端确认 基于用户对修改数据进行限制 DataList和Repeater的分页和排序 DataList和Repeater数据分页 DataList和Repeater数据排序(一) DataList和Repeater数据排序(二) DataList和Repeater数据排序(三) DataList和Repeater的自定义按钮行为 DataList和Repeater里的自定义button 从ASP.NET页面直接访问数据库 47 使用SqlDataSource 控件查询数据(Reeezak) 48 在SqlDataSource中使用参数化查询(Reeezak) 49 使用SqlDataSource插入、更新以及删除数据(Reeezak

62,262

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧