-1

グリッドビューをデータベースから入力したカスタムエンティティにバインドしたいのですが、エラーが発生しますオブジェクト参照がオブジェクトのインスタンスに設定されていません新規を選択したときにグリッドリンククラスからのエラーであり、これでリンクプロパティを設定したい行:link = { linkName = "tyr", linkSrc = "ytr" }, 私がそれをイヤライズすると、エラーが停止し、gridviewがバインドするためです

  public class gridcolumns
{

    public decimal cost { get; set; }
    public Int32 count { get; set; }
    public gridlink link { get; set; }

    public gridcolumns()
    {

        // TODO: Complete member initialization
    }
}

public class gridlink
{
    public string linkName { get; set; }
    public string linkSrc { get; set; }

    public gridlink()
    {

    }
}
 protected void Page_Load(object sender, EventArgs e)
{
    Data281DataContextDataContext conx = new Data281DataContextDataContext();
    List<tbl_2_CheckReqNo_NotValid> allresult = conx.tbl_2_CheckReqNo_NotValids.ToList();
    gridcolumns lastMantWithDate = new gridcolumns();
    if (Request.QueryString.Count == 0)
    {
        var lastMantWithDaste = from pe in allresult //where allresult != null
                                orderby Convert.ToDecimal(pe.mandeh) descending
                                group pe by pe.mant into grouped
                                where grouped != null
                                select new gridcolumns
                                {
                                    link = { linkName = "tyr", linkSrc = "ytr" },
                                    cost = grouped.Sum(g => Convert.ToDecimal(g.mandeh)),
                                    count = grouped.Count(),

                                };

        GrdOstan.DataSource = lastMantWithDaste;
        GrdOstan.DataBind();
    }
4

4 に答える 4

4

gridlink次のようにインスタンス化する必要があります。

link = new gridlink { linkName = "tyr", linkSrc = "ytr" },

クエリが生成するアイテムごとに、gridcolumnsオブジェクトを作成することを検討してください。そのlinkオブジェクトのプロパティは最初はnull;です。new gridlink使用する前にに設定する必要があります。

于 2012-08-29T07:34:41.270 に答える
3

あなたはおそらく必要です

link = new gridLink { linkName = "tyr", linkSrc = "ytr" }

それ以外の

link = { linkName = "tyr", linkSrc = "ytr" }
于 2012-08-29T07:34:36.620 に答える
1

これを置き換えます:

select new gridcolumns
           {
           link = { linkName = "tyr", linkSrc = "ytr" },

と:

select new gridcolumns
           {
           link = new gridlink  { linkName = "tyr", linkSrc = "ytr" },

キーワードgridLinkを使用して、タイプの新しいオブジェクトをインスタンス化する必要がありますnew

于 2012-08-29T07:36:31.923 に答える
0

あなたのラインで:

link = { linkName = "tyr", linkSrc = "ytr" }

次のような「新しいグリッドリンク」が必要です。

link = new gridlink { linkName = "tyr", linkSrc = "ytr" }

個人的には、コードがコンパイルされたのは残念だと思います。私が試した場合:

List<gridlink> links = new List<gridlink>();
links.Add({ linkName = "tyr", linkSrc = "ytr" });

たくさんの構文エラーが正しく表示されます。

追加new gridlinkすると、この問題は解決するはずです。

于 2012-08-29T07:47:37.657 に答える