1

アイテムの名前を一覧表示するデータバインドリストボックスがあります。アイテム番号とアイテム名の両方を次のように表示したいと思います。i-001-アイテム1。これと同様のことを行いましたが、データテキストフィールドを使用していなかったとき、代わりにiDataReadersを使用していました。

それで、とにかく複数の列を受け入れるためにdatatextfield属性を追加できますか?aspxページまたはコードビハインドのどちらか?

私があなたにそれを提供するのに役立つことができるコードがあれば、私ができることがあれば、私はそうするために最善を尽くします。

ありがとうございました

サンプルコード:

listItems.DataSource = DAL.Util.getItemProfiles(vendor,catalog);
listItems.DataBind();


public string ItemNumName
{
    get { return "CustItemNum" + " - " + "Name"; }
}

protected void listItems_DataBound(object sender, EventArgs e)
{
    listItems.DataTextField = ItemNumName;
}

これにより、次のエラーメッセージが表示されます。

DataBinding:'System.Data.DataRowView'には、'CustItemNum-Name'という名前のプロパティが含まれていません。

プロパティから+"-"+ "Name"を削除すると、CustItemNumフィールドだけが表示されて正しく機能します。

4

3 に答える 3

1

2つのフィールドを組み合わせた新しいプロパティをモデルに追加し、それをデータ値として使用できます

  public string SomeProperty
  {
      get{return  itemnumber + "-"+ itemName ; }
  }
于 2012-06-05T13:07:39.107 に答える
1

これは、ListBoxのOnDataBoundイベントで実行できます。ここでの例:http://asp-net-example.blogspot.com/2011/07/how-to-use-listbox-ondatabound-event-in.html

 protected void ListBox1_DataBound(object sender, EventArgs e)  
    {  
//... your logic here to set the text of the item
}
于 2012-06-05T13:09:30.580 に答える
1

SQLを編集して2つの列を連結し、それをデータテキストフィールドとして使用することもできます。提供された変数名を使用すると、次のようになります。

Select CustItemNum, Name,  CustItemNum + ' - ' + Name AS NumberName

次に、NumberNameをDataTextFieldとして使用できるようになり、「itemNumber--itemName」のように表示されます。

于 2012-06-19T15:17:46.880 に答える