0


我有一个函数,我为其提供了一个 ID,该 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 Segment中的定义

        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 回答