使用Gridview,Repeater等的水平表设计

时间:2011-07-11 09:59:53

标签: asp.net .net vb.net webforms

我希望建立一个供应商可以报价的好形式。因此,表单将在左侧显示标签,然后它们将是来自买方的每个请求产品/数量的列。所以它会有n列。

由于html表的编码方式,您需要一次构建一行。 (我希望将其保留为一个表,以便其整洁的HTML)

在我继续为用户需要输入的每一行信息创建Repeater之前。他们是一种能够创建排序网格视图的方法,但是您传递的每条记录都会创建一个新行。它会创建一个新列,您可以将第一列定义为标题列吗?

我的表格排序设计是(txtb代表文本框,lbl代表标签,在输入值时更新)

数量500 1000 2000

交货成本txtb txtb txtb

定价txtb txtb txtb

总费用lbl lbl lbl

汇率txtb txtb txtb

由于

2 个答案:

答案 0 :(得分:1)

我建议使用ul标签(无序列表)。它们更容易满足您的要求,因为我已经在类似的情况下完成了它。表将给你带来许多痛苦。

答案 1 :(得分:0)

这些标签/控件是否已修复?因为如果是这样,你不需要编写一个控件来渲染它们,你可以直接编写HTML代码。

如果您是从数据源生成表单,那么在Web窗体中有很多方法可以做到这一点,但为了简单起见,我会坚持使用Repeater,这是实现这一目标的最简单方法,特别是如果你不这样做不需要其他控件中的铃声和口哨声。

<asp:Repeater runat="server" ID="rptFields">
<HeaderTemplate>
   <table>
</HeaderTemplate>
<ItemTemplate>
   <tr>
      <td><%#Eval("Label") %></td>
      <td><asp:Textbox runat="server"/></td>
   </tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>

但是请记住,如果您生成这些控件,您将无法直接从代码隐藏中访问它们,您必须通过表单字段或转发器访问它们。

相关问题