怎么取得proID="1"(上一页取值)的ProjectPath信息绑定到DataGrid里?没有这个条件的我会做:可是取出了所有的ProjectPath值。
DataSet ds = new DataSet();
ds.ReadXml(ConfigDBPath.DBPath);
dgProjectPath.DataSource = ds.Tables[3];
dgProjectPath.DataBind();用DataTable.Select方法,会有问题,我取的是ds.Tables[3]的源,可是条件却在ds.Tables[1].Select("proID='"+projectID+"'")出现的。对应不上呀~ :(
用Xpath过滤的话,可以将XmlNodeList转化为DataSet格式?我需要与DataGrid绑定。
提点或者提供代码,非常感谢!XML如下:
<?xml version="1.0" standalone="yes"?>
<Tree xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RootPath rooPath="D:\aspnet\WebLog\">
<ProjectName proID="1" proName="logaaa">
<Project>
<ProjectPath proPathID="1" proPath="\xx" />
<ProjectPath proPathID="2" proPath="\yy" />
</Project>
<Item>
<ItemName iteID="1" iteName="bin">
<itemPath>\aa</itemPath>
</ItemName>
<ItemName iteID="2" iteName="common">
<itemPath>\bb</itemPath>
</ItemName>
</ProjectName>
<ProjectName proID="2" proName="test">
<Project>
<ProjectPath proPathID="1" proPath="\zz" />
</Project>
<Item />
</ProjectName>
</RootPath>
</Tree>
DataSet ds = new DataSet();
ds.ReadXml(ConfigDBPath.DBPath);
dgProjectPath.DataSource = ds.Tables[3];
dgProjectPath.DataBind();用DataTable.Select方法,会有问题,我取的是ds.Tables[3]的源,可是条件却在ds.Tables[1].Select("proID='"+projectID+"'")出现的。对应不上呀~ :(
用Xpath过滤的话,可以将XmlNodeList转化为DataSet格式?我需要与DataGrid绑定。
提点或者提供代码,非常感谢!XML如下:
<?xml version="1.0" standalone="yes"?>
<Tree xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RootPath rooPath="D:\aspnet\WebLog\">
<ProjectName proID="1" proName="logaaa">
<Project>
<ProjectPath proPathID="1" proPath="\xx" />
<ProjectPath proPathID="2" proPath="\yy" />
</Project>
<Item>
<ItemName iteID="1" iteName="bin">
<itemPath>\aa</itemPath>
</ItemName>
<ItemName iteID="2" iteName="common">
<itemPath>\bb</itemPath>
</ItemName>
</ProjectName>
<ProjectName proID="2" proName="test">
<Project>
<ProjectPath proPathID="1" proPath="\zz" />
</Project>
<Item />
</ProjectName>
</RootPath>
</Tree>
DataView dv = new DataView( yourDataSet.Tables[yourTableName], ""proID='"+projectID+"'", null, DataViewRowState.CurrentRows);然后用此dv来绑定datagrid即可。
ds.ReadXml(ConfigDBPath.DBPath);
projectID = Request.QueryString["projectID"].Trim();
DataView dv = new DataView(ds.Tables[1],"proID='"+projectID+"'", null, DataViewRowState.CurrentRows); //ds.Tables[1] 是ProjectName节点的,
dgProjectPath.DataSource = dv;
dgProjectPath.DataBind();
上面的xml的文件,最终要显示成什么
<ProjectPath proPathID="1" proPath="\xx" />
<ProjectPath proPathID="2" proPath="\yy" />
的信息,绑定DataGrid。与<Project>同级的<Item>节点也与它类似。
DataSet ds = new DataSet();
ds.ReadXml(ConfigDBPath.DBPath);
dgProjectPath.DataSource = ds.Tables[3];
dgProjectPath.DataBind();显示的是所有的ProjectPath节点了:
<ProjectPath proPathID="1" proPath="\xx" />
<ProjectPath proPathID="2" proPath="\yy" />
<ProjectPath proPathID="1" proPath="\zz" />我需要的是在<ProjectName proID="1">显示其下的
<ProjectPath proPathID="1" proPath="\xx" />
<ProjectPath proPathID="2" proPath="\yy" />
两个节点信息就可以了,也不知如何做绑定。
DataSet ds = new DataSet();
ds.ReadXml(ConfigDBPath.DBPath);
projectID = Request.QueryString["projectID"].Trim();
DataView dv = new DataView(ds.Tables[1],"proID='"+projectID+"'", null, DataViewRowState.CurrentRows); //ds.Tables[1] 是ProjectName节点的,
dgProjectPath.DataSource = dv;
dgProjectPath.DataBind();结果为: <ProjectName proID="1" proName="logaaa"> 的DataGrid信息,不是这个信息呀:(我要的就是这个)
<ProjectPath proPathID="1" proPath="\xx" />
<ProjectPath proPathID="2" proPath="\yy" />
public DataSet ReadProPath(string projectID)
{
XmlTextReader reader = new XmlTextReader(ConfigDBPath.DBPath);
DataSet dataSet=null;
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.LocalName == "ProjectName" && reader.GetAttribute("proID")==projectID && reader.Read())
{
dataSet = new DataSet();
dataSet.ReadXml(reader);
return dataSet;
}
}
}
~~~~~~~~大虾们出来吧!
http://community.csdn.net/Expert/topic/4892/4892718.xml?temp=.6645166