DataGrid1 中的其中3列是 productid(产品编号),price(价格),year(年限)
AK41 200 1
AK41 400 2
AK41 550 3
AK42 250 1
AK42 500 2
每种产品的价格是和不同的年限关联的;
我想把年限列做成模板列,是下拉列表式的,当我选择不同的年限时候,价格会对应的改变。
不知道该如何做?(如果您会PB的话,其实就是类似数据子窗口的问题)
我有两点不明白,首先当我选择不同的年限时候触发什么事件?其次我如何把每种产品的年限从数据库读取到年限列的下拉列表中?
如果您有别的解决类似问题的方法也行。
AK41 200 1
AK41 400 2
AK41 550 3
AK42 250 1
AK42 500 2
每种产品的价格是和不同的年限关联的;
我想把年限列做成模板列,是下拉列表式的,当我选择不同的年限时候,价格会对应的改变。
不知道该如何做?(如果您会PB的话,其实就是类似数据子窗口的问题)
我有两点不明白,首先当我选择不同的年限时候触发什么事件?其次我如何把每种产品的年限从数据库读取到年限列的下拉列表中?
如果您有别的解决类似问题的方法也行。
解决方案 »
- 自定义控件的初级问题
- ◆◆◆Asp.Net(C#)中如何利用代码动态的创建和修改SqlServer2000的ODBC数据源?◆◆◆
- 请教,关于datagrid无法实现分页显示的问题(在线等)
- 问一问,你的Render是加到哪个地方的?做到Asp的Sub功能
- 授予 ASP.NET 对文件的写访问权
- asp模板列的头可不可以去掉?
- 谁知道模式窗口?给俺介绍介绍。让俺也了解了解
- CuteEditor 5.0如何获得上传文件的路径?
- 请问你们在做登陆的时候是怎么来存储用户名和密码的?页面和页面之间如何传递数据
- 数据库
- Session 的问题!(20分)
- 为什么在自定义控件的隐藏代码中不能用Response.Write
private void DDList_ItemDataBound(object sender,...)
{
if(e.Item.ItemType == ListItemType.Edit)
{
DropDownList DDList=(DropDownList)e.Item.FindControl("DDList");//括号中的DDList:你在模板列的编辑列上定义的DropDownList名称
string Str="select year from T_table";//aa为
SqlConnect Conn=new SqlConnect(DBaseStr);
SqlCommand Cmd=new SqlCommand(Str,Conn);
SqlDatdReader Dr=new SqlDatdReader;
Dr=Cmd.ExecuteReader();
while (Dr.Reader())
{
DDList.Items.Add(Dr[year].ToString)
}
}
}
至于选种年限时价格跟着变化,你在DDList的点击事件中编段程序试一试。
1.首先须在.aspx页面中,放datagrid,再在模板列中放的dropdownlsit.
2.在dropdownlist的OnselectIndexChanged事件中可以取出dropdownlist中的值
public void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
MyDropDownList ddl = (MyDropDownList)sender;
Page.Response.Write(ddl.selectindex);
}
如果是用用户控件,我现在还没想出什么好办法.
ddl_selectedindexchanged事件必须是public
2。不同的产品年限加入下拉列表我从前这么做过你看你用的上不,建一个Web控件里面只有一个下拉列表,一个属性字段,当datagrid绑定时用模板列绑定这个控件。
绑定代码:<uc1:Control_color id=Control_color1 runat="server" Prod_ID='<%# DataBinder.Eval(Container, "DataItem.Prod_id")%>'></uc1:Control_color>
控件代码: public string Prod_ID
{
set{ViewState["prod_id"] = value;}
}
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
SqlConnection Con1 = new Conn().NewCon();
Con1.Open();
string Sql = "select color from product_color where Pro_id = " + (string)ViewState["prod_id"];
SqlCommand Cmd = new SqlCommand(Sql,Con1);
SqlDataReader Dr = Cmd.ExecuteReader();
while(Dr.Read())
{
DropDownList1.Items.Add(Dr["color"].ToString());
}
}
}