Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将SQL数据库中的数据存储到组合框中-C#_C#_.net - Fatal编程技术网

如何将SQL数据库中的数据存储到组合框中-C#

如何将SQL数据库中的数据存储到组合框中-C#,c#,.net,C#,.net,如何在组合框上获取outlet ID的值? 下面是我从数据库中获取值并将其存储在组合框中的代码 public partial class Addstock : Form { String connectionString = ConfigurationManager.ConnectionStrings["TCConnectionString"].ConnectionString; List<BOStockTransfer> StockList = new List&l

如何在组合框上获取outlet ID的值? 下面是我从数据库中获取值并将其存储在组合框中的代码

public partial class Addstock : Form
{
    String connectionString = ConfigurationManager.ConnectionStrings["TCConnectionString"].ConnectionString;
    List<BOStockTransfer> StockList = new List<BOStockTransfer>();
    int updateIndex = -1;

    public Addstock()
    {
        InitializeComponent();
    }

    private void Addstock_Load(object sender, EventArgs e)
    {
        loadstock();
        GetOutlets();
        Getproduct();
        GetGetWH();
        cmdoutletID.Visible = false;
        lbloutid.Visible = false;
        cmdwh.Visible = false;
        lblwh.Visible = false;
    }

    private void GetOutlets()
    {


        BOStockTransfer obj_StockTransfer = new BOStockTransfer();
        DataSet ds_OutletList = obj_StockTransfer.GetOutlets(connectionString);

        if (ds_OutletList.Tables[0].Rows.Count != 0)
        {
            cmdoutletID.DataSource = ds_OutletList.Tables[0];
            cmdoutletID.DisplayMember = "outletId";
        }

    }
public分部类Addstock:Form
{
String connectionString=ConfigurationManager.connectionString[“TCConnectionString”]。connectionString;
List StockList=新列表();
int updateIndex=-1;
公开发行股票()
{
初始化组件();
}
私有void Addstock_加载(对象发送方,事件参数e)
{
装载物();
GetOutlets();
Getproduct();
getwh();
cmdoutletID.Visible=false;
lbloutid.Visible=false;
cmdwh.Visible=false;
lblwh.Visible=false;
}
私人零售店()
{
BOStockTransfer obj_StockTransfer=新的BOStockTransfer();
数据集ds_OutletList=obj_StockTransfer.GetOutlets(connectionString);
if(ds_OutletList.Tables[0].Rows.Count!=0)
{
cmdoutletID.DataSource=ds_OutletList.Tables[0];
cmdoutletID.DisplayMember=“outletId”;
}
}

感谢您的帮助!

您正在设置:

cmdoutletID.Visible = false;
什么使组合框不可见

您必须按如下方式进行设置:

cmdoutletID.Visible = true;
private void GetOutlets()
    {
    BOStockTransfer obj_StockTransfer = new BOStockTransfer();
    DataSet ds_OutletList = obj_StockTransfer.GetOutlets(connectionString);

    if (ds_OutletList.Tables[0].Rows.Count != 0)
    {
        cmdoutletID.DataSource = ds_OutletList.Tables[0];
        cmdoutletID.DisplayMember = "outletID";
        cmdoutletID.ValueMember = "outletID";
        cmdoutletID.Enabled = true;

    }

}
添加图像后,列名为
outletID
,而不是
outletID
因此,请按如下方式更改代码:

cmdoutletID.Visible = true;
private void GetOutlets()
    {
    BOStockTransfer obj_StockTransfer = new BOStockTransfer();
    DataSet ds_OutletList = obj_StockTransfer.GetOutlets(connectionString);

    if (ds_OutletList.Tables[0].Rows.Count != 0)
    {
        cmdoutletID.DataSource = ds_OutletList.Tables[0];
        cmdoutletID.DisplayMember = "outletID";
        cmdoutletID.ValueMember = "outletID";
        cmdoutletID.Enabled = true;

    }

}

组合框有两个属性,用于确定从何处加载数据:

DisplayMember

ValueMember
“ValueMember”属性定义哪个命名字段填充列表项的“ValueProperty”。这样,当您执行
组合框。选择EdItem.Value
时,您将获得存储在为“ValueProperty”指定的命名字段中的值

假设您确定查询正在返回行,那么可以尝试“手动”添加项,而不是依赖自动数据绑定

private void GetOutlets()
{
    BOStockTransfer obj_StockTransfer = new BOStockTransfer();
    DataSet ds_OutletList = obj_StockTransfer.GetOutlets(connectionString);

    cmdoutletID.DisplayMember = "outletId";
    cmdoutletID.ValueMember = "pkID";
    cmdoutletID.BeginUpdate();
    try
    {
        cmdoutletID.Items.Clear();
        foreach (var row in ds_OutletList.Tables[0].Rows)
            cmdoutletID.Items(new { outletid = row["outletid"], pkID = row["primaryKeyIDFieldName"] });

    }
    finally { cmdoutletID.EndUpdate(); }
}
试试这个:

BOStockTransfer obj_StockTransfer = new BOStockTransfer();
        DataSet ds_OutletList = obj_StockTransfer.GetOutlets(connectionString);

        if (ds_OutletList.Tables[0].Rows.Count != 0)
        {
            cmdoutletID.DataSource = ds_OutletList.Tables[0];
            cmdoutletID.DisplayMember = "outletname";
            cmdoutletID.ValueMember = "outletId";
        }
要捕获选定值,例如在按钮上单击:

protected button1_Click(object o, EventArgs e)
{
  var selectedId =  cmboutletID.SelectedValue;
MessageBox.Show(selectedId);
}

结果是什么?是否有错误?我在组合框中看不到outlet ID的值。你想要什么?你有什么错误?请不要具体说明。我想要从我的数据库column name=outletId@ChathuraKanchana我编辑了我的答案,告诉我答案是否正确works@ChathuraKanchana我重新编辑了答案对于您发送的图像,请尝试使用新代码仍然为空happen@ChathuraKanchana您是否测试过查询是否返回任何数据?错误3“System.Windows.Forms.ComboBox”不包含“DataBind”的定义,并且找不到接受“System.Windows.Forms.ComboBox”类型的第一个参数的扩展方法“DataBind”我做了太多的ASP.NET开发。Windows.Forms控件没有实现显式的
DataBind()
方法,你是对的。我将更新我的答案。