Как получить все значения строк из Gridcontrol в WPF - PullRequest
0 голосов
/ 14 мая 2018

Я хочу получить строку данных в 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>

Я нашел много документов об этой проблеме и нашел много поддержки, но они всегда говорили о Gridview.Getdatarow, Datagrid или о чем-то в WinForm в Win, но моейGridcontrol и WPF, которые не содержат .Getdatarow property

1 Ответ

0 голосов
/ 14 мая 2018

Не совсем понятно, что вы пытаетесь сделать: возможно, вы можете уточнить.

Есть несколько способов сделать это. Если сетка настроена с 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 для итерации по строкам. Их документация довольно хороша в этом, в зависимости от ваших требований.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...