我正在XmlDataSource用作datasourcea dropdownlist.
现在我想SelectedValue在页面最初加载时设置下拉列表.我已经尝试了OnDataBound event下拉,我可以看到总项目.但设置SelectedValue不起作用.在OnDataBinding事件中,我甚至不能看到可能是因为名单尚未绑定的全部项目?
如何根据值设置所选索引?
如何在数据驱动的测试中设置数据行的DisplayName,其中数据源是XML,提供者是Microsoft.VisualStudio.TestTools.DataSource.XML.
XML:
<?xml version="1.0" encoding="utf-8" ?>
<environments>
<environment><name>IE</name></environment>
<environment><name>Chrome</name></environment>
</environments>
Run Code Online (Sandbox Code Playgroud)
App配置:
<!-- CONNECTION STRINGS SETTINGS -->
<connectionStrings>
<add name="IE_Chrome" connectionString="IE_Chrome.xml" providerName="Microsoft.VisualStudio.TestTools.DataSource.XML"/>
</connectionStrings>
<!-- PARAMETERIZING TEST SETTINGS -->
<microsoft.visualstudio.testtools>
<dataSources>
<add name="IE_Chrome" connectionString="IE_Chrome" dataTableName="environment" dataAccessMethod="Sequential"/>
</dataSources>
</microsoft.visualstudio.testtools>
Run Code Online (Sandbox Code Playgroud)
输出:

我想显示环境名称而不是"数据行0".
mstest xmldatasource data-driven-tests visual-studio-2012 test-reporting
我正在尝试使用Jasper iReport Designer 5.6.0生成一个报告,该报告包含其单元格内的列表.生成的表可能如下所示:
为此,我使用以下XML文件作为数据源:
<report>
<table>
<persons>
<person>
<id>111</id>
<name>John</name>
<addresses>
<address>Johan's Street 1</address>
<address>Johan's Street 2</address>
<address>Johan's Street 3</address>
</addresses>
</person>
<person>
<id>222</id>
<name>Marko</name>
<addresses>
<address>Marko's Street 1</address>
<address>Marko's Street 2</address>
</addresses>
</person>
<person>
<id>333</id>
<name>Tito</name>
<addresses>
<address>Tito's Street 1</address>
<address>Tito's Street 2</address>
<address>Tito's Street 3</address>
<address>Tito's Street 4</address>
</addresses>
</person>
</persons>
</table>
</report>
Run Code Online (Sandbox Code Playgroud)
和JRXML模板:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="TableWithList" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2347c131-1884-430a-b77f-59f08f896c8a">
<property name="ireport.zoom" value="1.0"/>
<property …Run Code Online (Sandbox Code Playgroud) 我在使用XML数据源的MSTest时遇到了一些问题.假设我有一个如下所示的XML文件:
<Users>
<User>
<Id>1</Id>
<Name>
<First>Mike</First>
<Last>Paterson</Last>
</Name>
</User>
<User>
<Id>2</Id>
<Name>
<First>John</First>
<Last>Doe</Last>
</Name>
</User>
</Users>
Run Code Online (Sandbox Code Playgroud)
然而,我的问题是我无法获得Name元素:
var name = row["Name"];
System.ArgumentException: Column 'Name' does not belong to table User.
Run Code Online (Sandbox Code Playgroud)
我想这可能更像是一个DataRow问题,但真的很感激任何帮助.
编辑:
即使我将DataRow复制到新的DataTable并编写XML,Name元素也不存在:
[DeploymentItem("XmlDatasourceTest\\Users.xml"), DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\Users.xml", "User", DataAccessMethod.Sequential), TestMethod]
public void TestMethod1()
{
var row = TestContext.DataRow;
DataTable table = row.Table.Copy();
foreach (DataRow r in table.AsEnumerable().ToArray())
{
r.Delete();
}
table.ImportRow(row);
table.WriteXml(@"C:\test.xml");
}
Run Code Online (Sandbox Code Playgroud)
对于第一行,这会产生:
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<User>
<Id>1</Id>
</User>
</DocumentElement>
Run Code Online (Sandbox Code Playgroud) 我想使用共享相同XML数据源的嵌套转发器,其中父转发器将数据源传递给子转发器,因此它不需要为父转发器中的每个数据项重新访问数据源.
父转发器的XPATH:"/ AdpDeselection/Documents/Document [@ type ='A']/Funds/Fund [@ cuspid ='1234']"
我将在下面的代码中为子Repeater中的DataSource属性添加什么?
我不想使用OnItemDataBound,因为我不认为它需要它,但我想我可能是错的.
<asp:XmlDataSource ID="xdsCurrentFunds" runat="server" DataFile="~/App_Data/CustomApps/DeselectOptions.xml" />
<asp:Repeater ID="rptCurrentFund" runat="server" OnItemDataBound="rptCurrentFund_ItemDataBound" DataSourceID="xdsCurrentFunds">
<ItemTemplate>
<div class="CurrentFund"><%# XPath("@name")%></div>
<asp:HiddenField ID="hdnID" runat="server" Value='<%# XPath("@cuspid")%>' />
<asp:Repeater ID="rptReplacementFunds" runat="server" DataSource='WHAT SHOULD I PUT HERE TO GET THE DATASOURCE?'>
<ItemTemplate>
<div class="ReplacementFund"><%# XPath("@ticker")%></div>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
<SeparatorTemplate>
<br />
</SeparatorTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
XML结构......
<Deselection>
<Documents>
<Document type="A">
<Funds>
<Fund cuspid="1234" name="CURRENT FUND NUMBER ONE">
<ReplacementFunds>
<Fund ticker="ABCD" cuspid="56785678">FUND NUMBER ONE</Fund>
<Fund ticker="EFGH" cuspid="23452345">FUND NUMBER TWO</Fund>
</ReplacementFunds>
</Fund> …Run Code Online (Sandbox Code Playgroud) 我有一个XML数据源,其中包含键/值对列表.我正在寻找一种将相同数据加载到数组或其他数据结构中的简单方法,以便我可以轻松查找数据.我可以通过几次点击将它绑定到GridView,但我没有找到一种直接的方法将其加载到不是UI控件的东西.
我的数据源如下:
<SiteMap>
<Sections>
<Section Folder="TradeVolumes" TabIndex="1" />
<Section Folder="TradeBreaks" TabIndex="2" />
</Sections>
</SiteMap>
Run Code Online (Sandbox Code Playgroud)
我想加载键值对(Folder,TabIndex)
加载数据的最佳方法是什么?
我用XmlDataSource这样的:
<asp:XmlDataSource ID="xmlDataSource1" runat="Server" DataFile="https://myurl.xml" ></asp:XmlDataSource>
Run Code Online (Sandbox Code Playgroud)
作为我rotater控制的数据源.
但我一直得到以下例外:
https://myurl.xml不是有效的虚拟路径.
虽然我在外部尝试了链接,但是有一个xml文件