0

我在显示和编辑从数据库到 ASP.Net 网页的一些数据时遇到问题。

数据库中的数据由几个不同的表组成:

文件,女巫包含 file_id 和文件名

|  file_id   |   file_name |
--------------------------
|    GUID    |   VARCHAR   |

文件作为一个 file_id 的行集合保存在数据库中,

,女巫基本上包含所有文件中的所有行

| item_id    | file_id     | step        | number |
---------------------------------------------------
|    GUID    |   VARCHAR   |  BIGINT     | BIGINT |

措辞,女巫包含所有独特的措辞

| wording_id | wording_eng | description |
-----------------------------------------
|    GUID    |   VARCHAR   |  VARCHAR    |

并且M_N_table女巫包含项目和措辞之间的联系

| item_id    | wording_id  |
----------------------------
|    GUID    |   GUID      |

我的最终显示表应该是这样的并且应该是可编辑的

|           |     file1     |     file2     |     file3     |.........|      fileN    |             |            |
| sortorder --------------------------------------------------------------------------| wording_eng | desription |
|           | step | number | step | number | step | number |.........| step | number |             |            |
------------------------------------------------------------------------------------------------------------------
|   1       | 10   |  15    |      |        |       |       |.........|       |       | something1  | something2 |           
------------------------------------------------------------------------------------------------------------------
|   2       |      |        |      |        |  25   |  15   |.........|    5  |  17   | something3  | something4 |          
------------------------------------------------------------------------------------------------------------------
|   3       |   2  | 4      |  5   |  16    |   17  |   3   |.........|    1  |  15   | something5  | something6 |

因此,对于某个选定列表中的每个文件,witch 意味着可变数量的文件,我需要阅读所有的措辞,如果一个措辞连接到 M_N_table 中的项目并且该项目存在于选定的文件中,我必须将步骤数字的值写入该文件列如图所示,如果它们不存在,它将被写入空白值。

我遇到的问题是创建 Table 或 DataList 或 GridView ,在我编辑数据时可以连接到item_idwording_id 。我设法在 C# 中在 backcode 中创建“pivot”数据表,使用所有这些表并创建了具有动态列数的 gridview,但问题是我没有关于我实际编辑的 item_id 的信息,它只是回到改变值在数据表中。

显示这些数据的最佳方式是什么?我尝试在 SQL 中制作动态数据透视表以直接使用 gridview 显示它,但没有聚合它是不可能的,所以我不得不使用 C# 后台代码中的数据表来做到这一点。我怎样才能做到这一点,以便当我在显示的表中编辑数据时,我在数据库中得到相同的更改?

4

0 回答 0