0

ドロップ ダウン リストに 2 つの列を配置し、2 つの列の間に特定の距離を設定したいので、コードの下に追加しましたが、列がコードと一致しません。

var query = from p in _DataContext.tblDocuments
                    orderby p.DocumentNo

                    select new
                    {
                        Doctitle = p.DocumentNo+' '+' '+"|"+' '+p.TITLE,
                        DocId = p.DocId
                    };
        ddlProjectDocument.DataSource = query;
        ddlProjectDocument.DataValueField = "DocId";
        ddlProjectDocument.DataTextField = "Doctitle";
        ddlProjectDocument.DataBind();

通常のビューと適切な位置合わせで2つの列を作成する方法を教えてください。

4

2 に答える 2

0

以下の2つの方法のいずれかを試すことができます。

 1). select new
                {
                    Doctitle = p.DocumentNo+" "+"|"+" "+p.TITLE,
                    DocId = p.DocId
                };

2)。

select new
                {
                    Doctitle =Concat(p.DocumentNo,p.TITLE),
                    DocId = p.DocId
                };
于 2013-01-25T20:36:37.287 に答える
0

配置は、テーブルのフィールドの値の長さに依存します。これを行う1つの方法は、テーブル内の最大のエントリのサイズを取得し、すべてのエントリがその幅であることを確認することです。これがあなたが試すことができるものです。

  <asp:DropDownList ID="ddlStack" runat="server" OnLoad="ddlStack_Load" />

およびddlloadイベントのソースコード:

  protected void ddlStack_Load(object sender, EventArgs e)
  {
        var all = from o in _DataContext.tblDocuments
                  orderby o.DocumentNo
                  select o;
        int maxs = 0;
        foreach (tblDocuments v in all)
        {
            if (v.DocumentNo.Length > maxs)
                maxs = v.DocumentNo.Length;
        }



        foreach (tblDocuments vv in all)
        {
            string doctitle = vv.DocumentNo;
            for (int i = vv.DocumentNo.Length; i < maxs + 2; i++)
            {
                doctitle += '_';

            }
            doctitle += " | ";
            doctitle +=  vv.DocID;
            ddlStack.Items.Add(new ListItem(doctitle, vv.vendorID.ToString()));


        }
  }
于 2013-01-25T22:25:18.290 に答える