2014-02-20 2 views
1

Здравствуйте, как бы получить данные из базы данных и поместить их в текст xrlabel в devexpress xtrareport? Вот мой код:Devexpress Xtrareport XRlabel извлекает данные из базы данных

public void getTemporaryOperatorsPermit(DataTable dt) 
     { 
      try 
      { 
       SQL = "SELECT ID FROM tbl_ID GROUP BY ID"; 
       cmd.Connection = dbCon; 
       cmd.CommandText = SQL; 
       reader = cmd.ExecuteReader(); 
       dt.Load(reader); 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine(e.Message); 
      } 
     } 
+0

Нужно ли создавать данные динамически, как указано выше? –

+0

Да, как бы я это сделал? – user3233787

ответ

0

Есть много подходов вы могли бы принять, но с помощью метода:

public void getTemporaryOperatorsPermit(DataTable dt) 
{ 
    try 
    { 
     SQL = "SELECT ID FROM tbl_ID GROUP BY ID"; 
     cmd.Connection = dbCon; 
     cmd.CommandText = SQL; 
     reader = cmd.ExecuteReader(); 
     dt.Load(reader); 

      DataSet ds = new DataSet("MyDataSet"); 
      ds.Tables.Add(dt); 

      var report = new XtraReport(); //breakpoint here 
      report.DataSource = report; 
      report.DataMember = "tbl_ID"; 
      report.CreateDocument(); 
      documentViewer.DocumentSource = report; 

    } 
    catch (Exception e) 
    { 
     Console.WriteLine(e.Message); 
    } 
} 

Выше предполагается, что вы уже будете иметь экземпляр DocumentViewer где-то.

Поместите контрольную точку, где я указал выше и отладки в VS, то в ближайшем окне поставить:

ds.WriteXml ("C: \ myschema.xml", System.Data.XmlWriteMode.WriteSchema)

У вас есть файл, в дизайнере отчетов просто перетащите метку на форму. Затем выберите отчет и свойства, найдите: Схема источника данных. Установите это в файл, который вы только что создали. Он заполнит список полей в дизайнере, тогда все, что вам нужно сделать, это привязать текстовое поле в поле DetailReportBand к полю ID - нажать его интеллектуальный тег, а затем выбрать свое поле в раскрывающемся списке DataBinding.

Смежные вопросы