我遇到了使用组合框删除数据的问题。错误提示我,我不知道如何解决它。任何人都可以帮助我吗?
private void btnDel_Click(object sender, EventArgs e)
{
using (testEntities Setupctx = new testEntities())
{
var Lo = Convert.ToInt16(cbLocationData.SelectedValue);
var DeleteLocation = (from delLocation in Setupctx.locations
where delLocation.Location1 == Lo
select delLocation).Single();
Setupctx.DeleteObject(DeleteLocation);
Setupctx.SaveChanges();
this.Delete_Location_Load(null, EventArgs.Empty);
MessageBox.Show("Selected Shift Timing Has Been Deleted.");
}
}
部分where delLocation.Location1 == Lo
向我显示以下错误
运算符'=='不能应用于'string'和'short'类型的操作数。
非常感谢您的帮助。
答案 0 :(得分:1)
创建一个类似这样的方法:
private void LoadLocation()
{
using (testEntities Setupctx = new testEntities())
{
var storeLocation = (from vL in Setupctx.locations
select new
{
Location1 =vL.Location1
}
);
cbLocationData.DataTextField = "Location1";
cbLocationData.DataSource = storeLocation;
cbLocationData.DataBind();
}
}
然后在你的页面上加载(asp.net)/表单加载(winform)添加:
LoadLocation();
希望得到这个帮助。
此致
答案 1 :(得分:0)
private void cbLocationData_SelectedIndexChanged(object sender, EventArgs e)
{
using (testEntities Setupctx = new testEntities())
{
var storeLocation = (from vL in Setupctx.locations
where vL.Location1 == vL.Location1
select vL.Location1);
foreach (var locationData in storeLocation)
{
cbLocationData.Items.Add(locationData.ToString());
}
}
}
是否有可能将locationData设置为tostring()或convert(),具体取决于数据类型?一切看起来都应该正常工作。
答案 2 :(得分:0)
您的活动正在您尝试填写的cb的SelectedindexChanged上触发。尝试将其放入页面加载或更合适的位置?
答案 3 :(得分:0)
我认为你把你的代码放错了地方.. 你只需在相同的组合选择更改上添加项目(cbLocationData_SelectedIndexChanged) 那是错的 将您的代码放在其他适当的位置,其中添加项目不属于同一事件