1

編集:修正済み.. [新しいアイテムの追加]-> [永続クラス11.2]に移動し、ウィザードを使用して新しい永続クラスを追加することで、問題が修正されたと思います。次に、そこからコードをコピーして、Form1コードに配置しました。動作します!

私はこのページを非常に密接にフォローしていました:http://documentation.devexpress.com/#WindowsForms/CustomDocument3265

SQL Serverデータベースからのレコードを表示するためにgridcontrolセットアップを取得する両方の方法を試しましたが、どちらも機能しませんでした。両方(プログラムを実行したとき)は列を返しましたが、行は返しませんでした。私は正しい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;
}

}

私の同僚は、データがDBからロードされているがリンクされていない可能性があると言っていましたが、修正方法がわかりませんでした...

どんな助けでも大歓迎です。ありがとう。

4

0 に答える 0