РЕДАКТИРОВАТЬ: Исправлено .. Я полагаю, что проблема была решена, перейдя в Add New Item -> Persistent Classes 11.2 и добавив новый постоянный класс с помощью мастера. Затем я просто скопировал код из этого и поместил его в мой код Form1. Работа!
Я очень внимательно следил за этой страницей: http://documentation.devexpress.com/#WindowsForms/CustomDocument3265
Я пробовал оба способа получения настройки gridcontrol для отображения записей из базы данных SQL Server, но ни один из них не сработал. Оба (когда я запускал программу) возвращали столбцы, но не строки. Я уверен, что у меня есть правильное имя сервера SQL, имя базы данных и имя таблицы. Поиск в Google, похоже, возвращает «как заставить программу показывать сообщение« строк не найдено »», т.е. ничего полезного. Вот мой код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevExpress.Xpo;
using DevExpress.Xpo.DB;
using DevExpress.Xpo.Metadata;
using DevExpress.XtraGrid;
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// Generate the connection string to the AdventureWorks database on local SQL Server.
XpoDefault.ConnectionString =
MSSqlConnectionProvider.GetConnectionString("dsd-sql3", "PH");
// Create a Session object.
Session session1 = new Session(XpoDefault.GetDataLayer(XpoDefault.ConnectionString, AutoCreateOption.None));
// Create an XPClassInfo object corresponding to the Person_Contact class.
XPClassInfo classInfo = session1.GetClassInfo(typeof(Call));
// Create an XPServerCollectionSource object.
XPServerCollectionSource xpServerCollectionSource1 =
new XPServerCollectionSource(session1, classInfo);
xpServerCollectionSource1.Reload();
// Create a grid control.
GridControl gridControl1 = new GridControl();
gridControl1.Dock = DockStyle.Fill;
this.Controls.Add(gridControl1);
// Enable server mode.
gridControl1.ServerMode = true;
// Bind the grid control to the data source.
gridControl1.DataSource = xpServerCollectionSource1;
}
}
[Persistent("dbo.CallLog")]
public class Call : XPLiteObject
{
public Call(Session session) : base(session) { }
[Key, DevExpress.Xpo.DisplayName("Oid")]
public string Oid;
//public string Title;
[DevExpress.Xpo.DisplayName("FirstName")]
public string FirstName;
[DevExpress.Xpo.DisplayName("MiddleName")]
public string MiddleName;
[DevExpress.Xpo.DisplayName("LastName")]
public string LastName;
[DevExpress.Xpo.DisplayName("Email")]
public string Email;
//public string Phone;
}
}
Мой коллега сказал, что, возможно, данные загружаются из БД, но не связаны, и он не знал, как это исправить ...
Любая помощь очень ценится. Спасибо.