100分再次紧急求助:detailsview中的dropdownlist,有一个无效 SelectedValue,因为它不在项目列表中
前面我已经提了问题,帖子的链接在:
http://topic.csdn.net/u/20101025/02/afe9c853-df24-4998-858e-2bcf4ec3093c.html
,有几个朋友回复了,但我从回复中仍然不得要领。等了几天了,仍没有人再理那个帖子了,不得不再开贴说这事。
一个貌似简单的问题,让我被困扰了几个星期了。完全没有下手的地方。
一方面是因为我笨,另一方面我不得不骂微软的开发工程师,设计的那个detailsview和dropdownlist是些神马东西啊,一点都不好用。不仅这个detailsview,那个著名的gridview结合dropdownlist也一样,谁觉得好用?它的那个treeview也很难用,结合数据库,好用吗?
骂完了微软的开发工程师,还得回头来解决问题。
我再简化问题,有两个表,T1,T2。有一个页面,上有一个detailsview,其数据源是T1,其中字段F2在detailsview进入编辑和插入态时,变成下拉列表,该下拉列表的数据源是T2,显示的字段是FF2。可以从该下拉列表中选出值,在点保存更新按钮后,保存到数据库表T1中。
以上需求是非常常见的也应该是非常简单的。但是,我查了B&G,发现有很多关于这个问题的。看来,不仅是我遇到了这个问题,还有很多人也遇到了这个问题。
在中国的编程论坛上,无论如何将问题详细提出,得到的答案仍然是非常居高临下的,我也把这个问题提到老外的论坛上,得到了非常细致的回复,虽然目前还没有完全解决问题。
为方便试验,我将表的脚本列出:
USE [fortest]
GO
/****** Object: Table [dbo].[T1] Script Date: 10/27/2010 08:26:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[T1](
[F1] [int] NOT NULL,
[F2] [varchar](10) NOT NULL,
CONSTRAINT [PK_T1] PRIMARY KEY CLUSTERED
(
[F1] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[T2] Script Date: 10/27/2010 08:26:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[T2](
[id] [int] NOT NULL,
[FF1] [int] NOT NULL,
[FF2] [varchar](10) NOT NULL,
CONSTRAINT [PK_T2] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: ForeignKey [FK_T2_T1] Script Date: 10/27/2010 08:26:36 ******/
ALTER TABLE [dbo].[T2] WITH CHECK ADD CONSTRAINT [FK_T2_T1] FOREIGN KEY([FF1])
REFERENCES [dbo].[T1] ([F1])
GO
ALTER TABLE [dbo].[T2] CHECK CONSTRAINT [FK_T2_T1]
GO
-----