C# 错误:DropdownList返回';System.Data.DataRowView';作为所选项目的文本值

C# 错误:DropdownList返回';System.Data.DataRowView';作为所选项目的文本值,c#,winforms,drop-down-menu,datagridview,C#,Winforms,Drop Down Menu,Datagridview,我有一个下拉列表,里面有所有银行的名字。我想在数据网格视图中显示信用额度。但下拉列表将“System.Data.DataRowView”作为所选项目的值返回 代码如下: private void cbxBank_SelectedIndexChanged(object sender, EventArgs e) { int i = cbxBank.SelectedIndex; string bank = cbxBank.Text; if (i != -1) {

我有一个下拉列表,里面有所有银行的名字。我想在数据网格视图中显示信用额度。但下拉列表将“System.Data.DataRowView”作为所选项目的值返回

代码如下:

private void cbxBank_SelectedIndexChanged(object sender, EventArgs e)
{
    int i = cbxBank.SelectedIndex;
    string bank = cbxBank.Text;
    if (i != -1)
    {
        // this Function Returns the Table of CreditLimit According to Bank Name
        DataTable CreditLimit = AM.ReturnAvailableCreditLimit(bank);

        //this function just displays the table in Datat Grid View
        DataGridViewDisplayDetails(CreditLimit);
    }
}
在DropdownList中添加数据的代码

        Bank = DbRdRw.SqlDbRead("Select BankName from BankMaster", "BankMaster");
        cbxBank.DataSource = Bank;
        cbxBank.ValueMember = "BankName";
        cbxBank.DisplayMember = "BankName";
        //ends
你有两个选择

  • 重写对象的.ToString()方法,显示所需内容
  • 使用下拉列表的DisplayMemberPath(或等效)属性,显示所需的属性
您需要指定

对于WinForm,您需要在定义以下属性后指定数据源:

Bank = DbRdRw.SqlDbRead("Select BankName from BankMaster", "BankMaster");
cbxBank.ValueMember = "BankName";
cbxBank.DisplayMember = "BankName";
cbxBank.DataSource = Bank; //here
对于ASP.Net

cbxBank.DataSource = ....;//specify your datasource
cbxBank.DataValueField = "BankID";
cbxBank.DataTextField = "BankName";
cbxBank.DataBind();

我编辑了问题,将数据加载添加到Dropdownlist中Code@Shivam,我没想到这个问题是针对Winform的,实际上dropdownlist通常与ASP.Net一起使用。但是我已经修改了我的答案。它仍然将组合框中的所有值显示为System.Data.DataRowView。我没有注意到问题是针对Winform的,实际上,
dropdownlist
通常与ASP.Net一起使用。但是,我已经修改了my Answer,以便能够从SelectedItem中获取您需要强制转换的值-请参阅以了解如何执行