如何将SQL数据库中的数据存储到组合框中-C#
如何在组合框上获取outlet ID的值? 下面是我从数据库中获取值并将其存储在组合框中的代码如何将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
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()
方法,你是对的。我将更新我的答案。