0

我有一个 Oracle Oledb 数据库表,它是员工的 Master,其中包含姓名、年龄、性别以及员工及其家属的关系。当我传递员工编号时,我想在 gridview 或任何其他合适的控件中创建一个单独的行,即员工及其家属。可能吗..??

例如,如果员工姓名是 abc,他的父亲 xyz,母亲 pqr,那么它应该显示为

name age      relation

abc  his age    self

xyz  his age    father

pqr  her age   mother

请注意所有这些都在表格中的一行中,我现在希望它们在单独的行中

4

2 回答 2

0

虽然我同意那些敦促你尽可能将查询分成多行的观点,但有一种方法可以做你想做的事。虽然您没有提到任何需要使用“合适的控件”来编辑行,但这个解决方案可以 - 通过一些工作 - 允许您这样做。

使用 aDataList甚至 aRepeater并在您的ItemTemplate:

 <asp:DataList runat="server" RepeatLayout="Table" ExtractTemplateRows="true">
     <HeaderTemplate>
          <asp:Table runat="server">
              <asp:TableRow runat="server">
                  <asp:TableCell runat="server">
                      Name
                  </asp:TableCell>
                  <!--- etc -->
              </asp:TableRow>
          </asp:Table>
      </HeaderTemplate>
      <ItemTemplate>
        <asp:Table runat="server">
            <asp:TableRow runat="server">
                <asp:TableCell><asp:Label id="lblName1" runat="server" /></asp:TableCell>
                <!-- etc. -->
            </asp:TableRow>
            <asp:TableRow runat="server">
                <asp:TableCell><asp:Label id="lblName2" runat="server" /></asp:TableCell>
                <!-- etc. -->
            </asp:TableRow>
            <asp:TableRow runat="server">
                <asp:TableCell><asp:Label id="lblName3" runat="server" /></asp:TableCell>
                <!-- etc. -->
            </asp:TableRow>          
        </asp:Table>
     </ItemTemplate>
  </asp:DataList>

在运行时,表行将从内部表中提取并合并到一个表中。您甚至可以设置命令按钮(可能在具有 rowspan="3" 属性的一行中),这样您就可以拥有类似于三行网格的外观和工作方式。

于 2013-02-08T14:58:53.600 回答
0

听起来像是一个设计糟糕的数据库。您的员工应该在一个表中,他的家属应该在一个与其员工 ID 相关的表中。那么做你想做的事情就很简单了。

于 2013-06-24T14:47:23.037 回答