日期:2014-05-18  浏览次数:20500 次

一个相对繁琐的问题,但很有技术含量。所以百分相送
实现的效果是这样的:
  栏目名称1
  复选框1           复选框2           单选按钮1     单选按钮2         输入框
 
  栏目名称2
  复选框1           复选框2           单选按钮1     单选按钮2         输入框

  栏目名称3
  复选框1           复选框2           单选按钮1     单选按钮2         输入框

  栏目名称4
  复选框1           复选框2           单选按钮1     单选按钮2         输入框

栏目的名称是从数据库中读出来的。而这些复选框,单选框和输入框是后期添加的。
问题一:栏目的名称数量可能不固定,但是从数据库中读出来的,用什么方式能显示出像这样的效果呢?   是   datalist吗?那如果方便的添加这些控件呢?
问题二:用户可以什么都不进行操作,但是如果选择某一项就必须把这个栏目的选项全部处理完才可以。例如:用户只对栏目名称2操作,他选择了复选框1后(当然也可以对复选框1或2都选),还必须从单选按钮1和2中选择一项,如果选择了单选按钮2后还必须在输入框中输入数字(不许为空),选择了单选按钮1不用输入或是在最后不获取输入框的数据。点击保存的时候,如果才能获取这些相对应的信息呢?

------解决方案--------------------
问题一:栏目的名称数量可能不固定,但是从数据库中读出来的,用什么方式能显示出像这样的效果呢? 是 datalist吗?那如果方便的添加这些控件呢?
==============================================
用DataList可以,每项前面可以有个选择项(比如单选按钮),当用户点击点击即视为选中当前项,然后上面给各界面让用户选择添加何种控件
------解决方案--------------------
问题二
FindControl找到相应的控件及其值
------解决方案--------------------
两个Gridview嵌套:

<asp:GridView ID= "gvParent " runat= "server " CellPadding= "0 " CellSpacing= "0 " AutoGenerateColumns= "False "
OnRowDataBound= "gvParent_RowDataBound " OnPageIndexChanging= "gvParent_PageIndexChanging "
PageSize= "5 " AllowPaging= "True ">
<HeaderStyle CssClass= "ViewTitle " />
<PagerSettings Mode =NumericFirstLast />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<table class= "rpt_table " align= "left " border= "1 ">
<tr>
<td class= "w30 ">
No. </td>
<td class= "w240 ">
Vendor Code </td>
<td class= "w380 ">
Vendor Name </td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table class= "rpt_table " border= "1 " cellpadding= "0 " cellspacing= "0 " align= "left ">
<tr class= "outItem ">
<td id= "Td1 " runat= "server " class= "w31 ">
<asp:Label ID= "index " runat= "server "> </asp:Label>
</td>