获取自定义下拉列表,右侧信息

Posted 正怒月神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取自定义下拉列表,右侧信息相关的知识,希望对你有一定的参考价值。

如下:

 

方法:

CREATE FUNCTION Tyler_GetCustomFieldByName_RightText

(
@parentPK uniqueidentifier, -- 主键
@fieldName varchar(32), -- 自定义栏位
@fieldValue varchar(100) -- 下拉列表左侧值(dbo.GetCustomFieldByName 获取的值)
)
returns nvarchar(200)
as

Begin

declare @data xml
declare @valueStr nvarchar(max)
SELECT
@data = GenCustomAddOnRule.XR_SourceCode
FROM dbo.GenCustomAddOnValue
JOIN dbo.GenCustomAddOnRule on GenCustomAddOnValue.XV_XR_Rule=GenCustomAddOnRule.XR_PK
WHERE XV_ParentID = @parentPK
AND XV_Name = @fieldName
select @valueStr= @data.value('((//rules/rule/details/codeDescriptionList/codeDescription[@code=sql:variable("@fieldValue")])[1]/@description)[1]','varchar(max)')

return @valueStr
end

一,涉及的表

GenCustomAddOnValue

GenCustomAddOnRule

二,创建相关视图

CREATE view Tyler_GetGenCustomAddOnValue
as
SELECT
XV_PK,
XV_Data,
XV_IsRuleEnabled,
XV_Name,
XV_ParentID,
XV_ParentTableCode,
XV_Type,
XV_XR_Rule
FROM dbo.GenCustomAddOnValue

CREATE view Tyler_GetGenCustomAddOnRule
as
SELECT
XR_PK,
XR_IsSystemDefined,
XR_IsActive,
XR_Code,
XR_Description,
XR_SourceCode,
XR_RuleType
FROM dbo.GenCustomAddOnRule

上面两张表需要通过GenCustomAddOnValue.XV_XR_Rule进行关联

三,测试例子

获取GenCustomAddOnRule中的sourceCode(这是一个xml文本),得到其中对应的description
测试sql


declare @data xml
set @data='<sourceCode>
<rules>
<rule code="InvalidCode" enabled="true">
<details>
<codeDescriptionList>
<codeDescription code="JC" description="JOYCE" />
<codeDescription code="SW" description="SEAN" />
<codeDescription code="JLA" description="JUNO" />
<codeDescription code="GW1" description="GEENA" />
</codeDescriptionList>
</details>
</rule>
<rule code="CreateEvent" enabled="false">
<details>
<CreateEventRuleCode>Z00</CreateEventRuleCode>
</details>
</rule>
<rule code="DateTimeFormat" enabled="false">
<details>
<format>Short</format>
</details>
</rule>
<rule code="CheckEntered" enabled="false">
<details />
</rule>
</rules>
</sourceCode>'

-- 获取OP MANAGER 为 JC的description(也就是下拉列表中,右侧的信息)
select @data.value('((//rules/rule/details/codeDescriptionList/codeDescription[@code="JC"])[1]/@description)[1]','varchar(max)')

以上是关于获取自定义下拉列表,右侧信息的主要内容,如果未能解决你的问题,请参考以下文章

如何使用angularJS从自定义下拉列表中获取选定的值

Drupal 允许的节点类型自定义下拉菜单

在下拉列表中添加自定义对象作为选项

自定义Spinner下拉菜单(下拉列表框)样式

如何在卡片标题html中将下拉列表移动到右侧末端

jQuery学习——使用JQ完成下拉列表左右选择