我从第一行到最后一行从Gridcontrol
获取数据行。我尝试了这个代码,但它确实正常工作。当我Debug
时,
string.Concatreturn:
SELECT * FROM viewdulieu2 WHERE Khachdat = N''
这是我的Window.xaml
DataTable a = new DataTable();
a = ((DataView)ctrlgridviewdulieu0.ItemsSource).ToTable();
foreach (DataRow row in a.Rows)
{
DataTable dtrow = new DataTable();
dtrow = a.Clone();
dtrow.ImportRow(row);
try
{
cnn.Open();
SqlCommand cmd = new SqlCommand(" SELECT * FROM viewdulieu2 WHERE Khachdat = N'" + dtrow + "'", cnn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt1 = new DataTable();
da.Fill(dt1);
XtraReport1 report = new XtraReport1();
report.DataSource = dt1;
// report.Print();
cnn.Close();
report.ShowPreviewDialog();
}
catch (Exception ex)
{
cnn.Close();
MessageBox.Show(ex.Message);
}
这是我的Window.xaml.cs
<dxg:GridControl
x:Name="ctrlgridviewdulieu0"
AutoGenerateColumns="AddNew"
EnableSmartColumnsGeneration="True"
HorizontalAlignment="Left"
Margin="0,-12,0,-3"
VerticalAlignment="Top"
Height="592"
Width="176">
<dxg:GridControl.View>
<dxg:TableView/>
</dxg:GridControl.View>
</dxg:GridControl>
我搜索了很多关于这个问题的文档并找到了很多支持,但他们总是在Win Gridview.Getdatarow
中告诉Datagrid
,WinForm
或其他内容,但我的Gridcontrol
和WPF
{ {1}}不包含.Getdatarow property
答案 0 :(得分:0)
一点也不清楚你要做什么:也许你可以澄清一下。
实际上有几种方法可以做到这一点。如果网格设置为使用DataTable作为源,那么最简单的可能就是使用ItemsSource。这将是一个DataTable,你可以迭代,如下所示。看起来这就是你想要做的事情:
DataTable a = ctrlgridviewdulieu0.ItemsSource as DataTable;
foreach (DataRow row in a.Rows)
{
// The row is available: the itemArray is an array of column values
object[] itemArray = row.ItemArray;
}
在DevExpress网格中也可以使用本机DevExpress功能来遍历行。根据您的要求,他们的文档非常好。