我在显示和编辑从数据库到 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_id和wording_id 。我设法在 C# 中在 backcode 中创建“pivot”数据表,使用所有这些表并创建了具有动态列数的 gridview,但问题是我没有关于我实际编辑的 item_id 的信息,它只是回到改变值在数据表中。
显示这些数据的最佳方式是什么?我尝试在 SQL 中制作动态数据透视表以直接使用 gridview 显示它,但没有聚合它是不可能的,所以我不得不使用 C# 后台代码中的数据表来做到这一点。我怎样才能做到这一点,以便当我在显示的表中编辑数据时,我在数据库中得到相同的更改?