将记录数限制为:DataGrid [英] Restricting no: of records to DataGrid
问题描述
亲爱的朋友,
我有一个Infragistics数据网格控件.我想从XML内容加载它.这很好用,但是我想用两种方式实现.
假设有2个按钮,
A)btnLoadSingleRecord
我需要从XML文件中加载一条记录,
B)btnLoadAllRecord
我需要从XML文件加载所有记录
我该如何实现?
这是我目前的实现方式.
Dear friends,
I have a Infragistics data grid control.I want to load it from XML content.This works fine.But I want to implement in two ways.
Suppose there are 2 buttons,
A) btnLoadSingleRecord
I need to load a single record from the XML file,
B) btnLoadAllRecord
I need to load All the records from the XML file
How can I achieve it?
This is my present implementation.
<pre lang="xml">public class cXMLManager
{
string _StringSource;
StringReader _StringReader;
XmlTextReader _XmlTextReader;
public cXMLManager()
{
_StringSource = "";
_StringReader = null;
_XmlTextReader = null;
}
public XmlTextReader CreateXMLInternally()
{
_StringReader = new StringReader(GetString());
_XmlTextReader = new XmlTextReader(_StringReader);
return _XmlTextReader;
}
public string GetString()
{
_StringSource = "<?xml version=''1.0''?>" +
"<Root>" +
"<Rec1>" +
"<PlaneSpeed>23</PlaneSpeed>" +
"<PlaneAmount>121.1</PlaneAmount>" +
"<BendSpeed>23</BendSpeed>" +
"<BendAmount>121.1</BendAmount>" +
"<FeedSpeed>15</FeedSpeed>" +
"<FeedAmount>124.5</FeedAmount>" +
"<PP>12</PP>"+
"<PF>1</PF>"+
"<ArcLength>22</ArcLength>"+
"<CrossMovement>22</CrossMovement>" +
"<PriorCrossMovement>22</PriorCrossMovement>" +
"<RClamp>22</RClamp>" +
"<NormalBend>22</NormalBend>" +
"<OnceForward>22</OnceForward>" +
"<TemporaryAdvance>22</TemporaryAdvance>" +
"</Rec1>"+
"<Rec1>" +
"<PlaneSpeed>23</PlaneSpeed>" +
"<PlaneAmount>121.1</PlaneAmount>" +
"<BendSpeed>23</BendSpeed>" +
"<BendAmount>121.1</BendAmount>" +
"<FeedSpeed>15</FeedSpeed>" +
"<FeedAmount>124.5</FeedAmount>" +
"<PP>12</PP>" +
"<PF>1</PF>" +
"<ArcLength>22</ArcLength>" +
"<CrossMovement>22</CrossMovement>" +
"<PriorCrossMovement>22</PriorCrossMovement>" +
"<RClamp>22</RClamp>" +
"<NormalBend>22</NormalBend>" +
"<OnceForward>22</OnceForward>" +
"<TemporaryAdvance>22</TemporaryAdvance>" +
"</Rec1>" +
"<Rec1>" +
"<PlaneSpeed>23</PlaneSpeed>" +
"<PlaneAmount>121.1</PlaneAmount>" +
"<BendSpeed>23</BendSpeed>" +
"<BendAmount>121.1</BendAmount>" +
"<FeedSpeed>15</FeedSpeed>" +
"<FeedAmount>124.5</FeedAmount>" +
"<PP>12</PP>" +
"<PF>1</PF>" +
"<ArcLength>22</ArcLength>" +
"<CrossMovement>22</CrossMovement>" +
"<PriorCrossMovement>22</PriorCrossMovement>" +
"<RClamp>22</RClamp>" +
"<NormalBend>22</NormalBend>" +
"<OnceForward>22</OnceForward>" +
"<TemporaryAdvance>22</TemporaryAdvance>" +
"</Rec1>" +
"<Rec1>" +
"<PlaneSpeed>23</PlaneSpeed>" +
"<PlaneAmount>121.1</PlaneAmount>" +
"<BendSpeed>23</BendSpeed>" +
"<BendAmount>121.1</BendAmount>" +
"<FeedSpeed>15</FeedSpeed>" +
"<FeedAmount>124.5</FeedAmount>" +
"<PP>12</PP>" +
"<PF>1</PF>" +
"<ArcLength>22</ArcLength>" +
"<CrossMovement>22</CrossMovement>" +
"<PriorCrossMovement>22</PriorCrossMovement>" +
"<RClamp>22</RClamp>" +
"<NormalBend>22</NormalBend>" +
"<OnceForward>22</OnceForward>" +
"<TemporaryAdvance>22</TemporaryAdvance>" +
"</Rec1>" +
"<Rec1>" +
"<PlaneSpeed>23</PlaneSpeed>" +
"<PlaneAmount>121.1</PlaneAmount>" +
"<BendSpeed>23</BendSpeed>" +
"<BendAmount>121.1</BendAmount>" +
"<FeedSpeed>15</FeedSpeed>" +
"<FeedAmount>124.5</FeedAmount>" +
"<PP>12</PP>" +
"<PF>1</PF>" +
"<ArcLength>22</ArcLength>" +
"<CrossMovement>22</CrossMovement>" +
"<PriorCrossMovement>22</PriorCrossMovement>" +
"<RClamp>22</RClamp>" +
"<NormalBend>22</NormalBend>" +
"<OnceForward>22</OnceForward>" +
"<TemporaryAdvance>22</TemporaryAdvance>" +
"</Rec1>" +
"</Root>";
return _StringSource;
}
}
和数据访问就是这样
来自另一个班级
and data accessing is as this
from another class
private void Window_Loaded(object sender, RoutedEventArgs e)
{
cXMLManager XMLManager = new cXMLManager();
XmlTextReader _xmlTextReader = XMLManager.CreateXMLInternally();
DataSet ds = new DataSet();
ds.ReadXml(_xmlTextReader);
xamDataGridProcess.DataSource = ds.Tables[0].DefaultView;
}
This one loads all the data to the grid.
推荐答案
如果您可以通过在视图上设置RowFilter属性来限制要显示的行,请执行以下操作:
If you can restrict the rows you want to have appear by setting the RowFilter property on the view:
ds.Tables[0].DefaultView.RowFilter = "<field>=<value>";
xamDataGridProcess.DataSource = ds.Tables[0].DefaultView;
这篇关于将记录数限制为:DataGrid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!