我使用的是包含ASPxGridView
列的DevExpress GridViewDataComboBoxColumn
。
组合框在编辑模式下正常工作(允许AJAX样式过滤;正确插入,更新和删除)。
唯一的问题是,在显示模式下,它显示的是ValueField
(数字ID),而不是TextField
。
<dx:GridViewDataComboBoxColumn Width="200px" FieldName="LocationKeyUid" VisibleIndex="0" Caption="Index">
<PropertiesComboBox EnableCallbackMode="true" CallbackPageSize="7" IncrementalFilteringMode="StartsWith"
OnItemsRequestedByFilterCondition="ItemsRequestedByFilterCondition" OnItemRequestedByValue="ItemsRequestedByValue"
TextField="KeyValue" ValueType="System.Int32" TextFormatString="({0}) {1}" ValueField="LocationKeyUid" />
如上所示,我尝试了设置TextFormatString
的不同实验,但这似乎被忽略了。
我的约束力如下:
IList<LocationKeyGridViewModel> locationKeys = GetLocationKeys();
locationKeyGridView.DataSource = locationKeys;
locationKeyGridView.DataBind();
类属性名称(如下)分配给TextField
和ValueField
属性设置(上图)。
public class LocationKeyGridViewModel
{
public int LocationKeyUid { get; set; }
public string KeyValue { get; set; }
}
我尝试将FieldName
属性分配更改为TextField
分配
(即KeyValue
)但会产生Input string is not in correct format
错误。
这里有什么明显的东西我不见了吗?