0


ID を提供する関数を取得しました。これにより、結果のコレクションが返されます。
これらから、データグリッドに表示するさらに別の結果セットを取得します。
以下のコードでは、メモを持つ最後のノードから結果を取得します。

private void GetNotesList(int Id)
    {
        DataAccess.LexCodeNode LexCodeNode = new DataAccess.LexCodeNode();
        LexCodeNode.Where.LexCodeId.Value = Id;
        LexCodeNode.Query.Load();

        for (int Index = 0; Index <= LexCodeNode.RowCount; Index++, LexCodeNode.MoveNext())
        {
            int LexCodeNodeId = LexCodeNode.LexCodeNodeId;
            DataAccess.LexCodeNote LexCodeNote = new DataAccess.LexCodeNote();
            LexCodeNote.Where.LexCodeNodeId.Value = LexCodeNodeId;

            if (LexCodeNote.Query.Load())
            {
                BindGrid(DgNoteLst, LexCodeNote.DefaultView);
            }
        }
    }

私は次のようなことをすべきだと知っています

Array Notes = new Array();
for (int Index = 0; Index <= LexCodeNode.RowCount; Index++, LexCodeNode.MoveNext())
        {
            int LexCodeNodeId = LexCodeNode.LexCodeNodeId;
            DataAccess.LexCodeNote LexCodeNote = new DataAccess.LexCodeNote();
            LexCodeNote.Where.LexCodeNodeId.Value = LexCodeNodeId;

            if (LexCodeNote.Query.Load())
            {
                Notes.Add(LexCodeNote);
            }
        }
BindGrid(DgNoteLst, Notes); // I should send Notes as a View..

私の質問は次のとおりです。各サイクルからこれらの値をDefaulViewに追加するにはどうすればよいですか。

private void BindGrid(DataGrid grid, DataView view)
    {
        grid.DataSource = view;
        grid.DataBind();
    }
4

1 に答える 1

0

別の方法を見つけました
.必要なものを取得して呼び出すストアドプロシージャを作成しました。

USE [Table]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE Custom_GetNotesList(@LexCodeId int)
AS
BEGIN

Select LexCodeNodeId, Note, Active
From LexCodeNote
Where LexCodeNodeId in ( 
    Select LexCodeNodeId 
    From LexCodeNode
    where LexCodeId = @LexCodeId)

END


これが私がそれを呼び出す方法です。

 private void GetNotesList(int Id, int Page)
    {
        DataAccess.LexCodeNode LexCodeNode = new DataAccess.LexCodeNode();
        LexCodeNode.GetNotesList(Id);
        BindGrid(DgNoteLst, LexCodeNode.DefaultView);
    }


そして、DataAccess セグメントの定義

        public bool GetNotesList(int pLexCodeId)
    {
        ListDictionary parameters = new ListDictionary();
        parameters.Add(Parameters.LexCodeId, pLexCodeId);

        return base.LoadFromSql("[" + this.SchemaStoredProcedure + "Custom_GetNotesList]", parameters);
    }
于 2013-12-04T13:34:16.753 に答える