2012-06-05 33 views
1

我有一個列出項目名稱的數據綁定列表框,我現在想要顯示項目編號和項目名稱,如下所示:i-001 - 第1項。我做了類似這樣的事情,但當時我沒有使用數據文本字段,而是使用iDataReaders。有沒有辦法在aspx C#中添加ListBox的DataTextField?

所以我可以追加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; 
} 

這會導致以下錯誤消息:

數據綁定: 'System.Data.DataRowView' 不包含名爲「CustItemNum屬性- 名稱'。

如果我刪除+「 - 」從它通過只顯示了CustItemNum場

+0

你能發佈一些示例代碼? –

+1

檢查下列SO鏈接[在DataTextField多個值] [1] [1]:http://stackoverflow.com/questions/861982/datatextfield-in-a-listbox-is -a-combination-of-2-fields –

+0

所以你想在該下拉列表中顯示文本和下拉列表的值? – Limey

回答

1

你也可以編輯你的SQL來連接兩列,然後使用它作爲您的datatextfield。使用提供的變量名它看起來是這樣的:

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

,那麼你應該能夠使用NumberName作爲DataTextField,它應該像顯示「itemNumber - ITEMNAME」

+0

我剛剛試過這個,你知道什麼..它的作品!非常感謝 –

1

正確的功能屬性+「姓名」你可以添加一個新的屬性到模型,結合了兩個領域,並把它作爲datavalue

public string SomeProperty 
    { 
     get{return itemnumber + "-"+ itemName ; } 
    } 
+0

我正在嘗試使用這種方法,但我有問題,我設置了列表框DataTextField = ItemNumName它尋找一列名爲:'CustItemNum - 名稱'..抱歉等待很長時間的答覆我離開了這一段時間..我相信,用這種方法稍微調整一下,我就可以得到它的工作。謝謝 –

+0

@JoeW數據源的類型是什麼? –

+0

以及我可以發誓我早些時候發佈...數據類型是varchar。 –

相關問題