private void data_disp(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
switch(e.CommandName)
{
case "alldata":
DataList1.SelectedIndex=e.Item.ItemIndex;
break; case "simpledata":
DataList1.SelectedIndex=-1;
break; case "editdata":
DataList1.EditItemIndex=e.Item.ItemIndex;
break;
case "canceldata":
DataList1.EditItemIndex=-1;
break;
case "savedata":
rec_disp();
TextBox text_price=DataList1.Items[e.Item.ItemIndex].FindControl["txt_unitprice"];//c:\inetpub\wwwroot\Web9\WebForm5.aspx.cs(103): 在不带括号的情况下引用了方法“System.Web.UI.Control.FindControl(string)”
ds.Tables["Products"].Rows[e.Item.ItemIndex].ItemArray["unitprice"]=text_price.Text;//c:\inetpub\wwwroot\Web9\WebForm5.aspx.cs(106): 无法将类型“string”隐式转换为“int” TextBox text_stock=DataList1.Items[e.Item.ItemIndex].FindControl["txt_stock"];//c:\inetpub\wwwroot\Web9\WebForm5.aspx.cs(108): 在不带括号的情况下引用了方法“System.Web.UI.Control.FindControl(string)” ds.Tables["Products"].Rows[e.Item.ItemIndex].ItemArray["unitinstocks"]=text_stock.Text;//c:\inetpub\wwwroot\Web9\WebForm5.aspx.cs(110): 无法将类型“string”隐式转换为“int” SqlDataAdapter da=new SqlDataAdapter();
SqlCommandBuilder cb=new SqlCommandBuilder(da);//??
if (da.Update(ds,"products")>0)
{
DataList1.EditItemIndex=-1;
}
DataList1.DataSource=ds.Tables["products"];
DataList1.DataBind();
break;
}
rec_disp();
DataList1.DataSource=ds.Tables["products"];
DataList1.DataBind();
}
{
switch(e.CommandName)
{
case "alldata":
DataList1.SelectedIndex=e.Item.ItemIndex;
break; case "simpledata":
DataList1.SelectedIndex=-1;
break; case "editdata":
DataList1.EditItemIndex=e.Item.ItemIndex;
break;
case "canceldata":
DataList1.EditItemIndex=-1;
break;
case "savedata":
rec_disp();
TextBox text_price=DataList1.Items[e.Item.ItemIndex].FindControl["txt_unitprice"];//c:\inetpub\wwwroot\Web9\WebForm5.aspx.cs(103): 在不带括号的情况下引用了方法“System.Web.UI.Control.FindControl(string)”
ds.Tables["Products"].Rows[e.Item.ItemIndex].ItemArray["unitprice"]=text_price.Text;//c:\inetpub\wwwroot\Web9\WebForm5.aspx.cs(106): 无法将类型“string”隐式转换为“int” TextBox text_stock=DataList1.Items[e.Item.ItemIndex].FindControl["txt_stock"];//c:\inetpub\wwwroot\Web9\WebForm5.aspx.cs(108): 在不带括号的情况下引用了方法“System.Web.UI.Control.FindControl(string)” ds.Tables["Products"].Rows[e.Item.ItemIndex].ItemArray["unitinstocks"]=text_stock.Text;//c:\inetpub\wwwroot\Web9\WebForm5.aspx.cs(110): 无法将类型“string”隐式转换为“int” SqlDataAdapter da=new SqlDataAdapter();
SqlCommandBuilder cb=new SqlCommandBuilder(da);//??
if (da.Update(ds,"products")>0)
{
DataList1.EditItemIndex=-1;
}
DataList1.DataSource=ds.Tables["products"];
DataList1.DataBind();
break;
}
rec_disp();
DataList1.DataSource=ds.Tables["products"];
DataList1.DataBind();
}
unitprice明显是一个int......ps:单价居然是整数,汗~~~~~
ds.Tables["Products"].Rows[e.Item.ItemIndex].ItemArray["unitprice"]=Int32.Parse(text_price.Text.Trim());
转换之前要检查输入的是不是数字。
>>ds.Tables["Products"].Rows[e.Item.ItemIndex].ItemArray["unitprice"]=text_price.Text;//c:\inetpub\wwwroot\Web9\WebForm5.aspx.cs(106): 无法将类型“string”隐式转换为“int”<<ds.Tables["Products"].Rows[e.Item.ItemIndex].ItemArray["unitprice"]=Convert.Int32(text_price.Text);