我有一个带有DataGridViewComboBoxColumn(colLocation)的datagridview(dgv)
colLocation.AutoComplete = False
colLocation.HeaderText = "Stored to"
colLocation.DataSource = DB.getLocation()
colLocation.DisplayMember = "description"
colLocation.ValueMember = "id"
我将colLocation添加到dgv。
“descirption”包含Unicode字符。我可以正确查看comboBox并选择项目。
问题是当comboBox失去焦点时,该值会更改为comboBox的第一项。
有什么建议吗?
更新
我发现当DisplayMember是英文字符时,ComboBox不会更改数据。
仅当DisplayMember位于 Unicode chracter 中时更改。有什么想法可以解决这个问题吗? - 0年前的tunwn
答案 0 :(得分:0)
你的.aspx页面应该是这样的:
<asp:DropDownList Width="90px" ID="ddlExpenseTypes" OnSelectedIndexChanged="ddlExpenseTypes_SelectedIndexChanged" DataSource='<%# GetExpenseTypes() %>' SelectedValue='<%# Bind("ExpenseReasonID") %>' DataTextField="ExpenseReasonID" DataValueField="ExpenseReasonID" AutoPostBack="true" runat="server" ></asp:DropDownList>
那就是你需要一个函数调用来改变索引。用于填充下拉列表的函数调用ist(DataSource)和用于设置下拉列表的SelectedValue的函数调用。
答案 1 :(得分:0)
这是DataGridView的数据绑定吗?您尚未为DataPropertyName指定值,因此没有任何内容可供绑定colLocation.ValueMember的ID选择。