我想在编辑DataGrid时,使<EditItemTemplate>中的DropDownList实现动态绑定
可现在我无法在EditCommand事件中无法得到DropDownList请问如何实现这种动态绑定
可现在我无法在EditCommand事件中无法得到DropDownList请问如何实现这种动态绑定
解决方案 »
- 关于继承类的问题
- sql存储过程时间相减
- 请教一个简单的问题!
- 寫了一個連接串連接SQL server 2005,出現了如下錯誤:
- 是不是.NET程序用不了别人的啊,都要自己写呢
- 用制作水晶报表画表格时"详细资料节"在设成多栏的情况下为什么总是会出现---线延伸到表外的情况,我真是没辙了.
- 我用ASP.NET导EXCEL的时候为什么一直报错!在线等解决问题就给分
- asp.net 2.0 国际化的问题!
- 怎样将UTF8码转为gb2312?
- scriptx的问题:出现参数<PARAM NAME="__PX__disablePrint" VALUE="2052">导致不能打印,请问如何解决?
- 急:关于用excel.application读excel数据倒dataset的问题
- 我在自己机器上调好了ASP.NET程序,怎么让它在我同学机器上用起来啊?
{
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlDataAdapter da=new SqlDataAdapter("select * from dep",conn);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
if(e.Item.ItemType==ListItemType.EditItem)
{
DropDownList ddl=(DropDownList)e.Item.FindControl("dep");
ddl.DataSource=ds.Tables["table1"];
ddl.DataTextField="depname";
ddl.DataValueField="depid";
ddl.DataBind();
ddl.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,"depid"))).Selected=true;//选择数据库内的作为默认
}
}
再
public void ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string strItemID;
SqlConnection MyConnection = cn;
SqlCommand cmdSelect;
SqlDataReader dtrAuthor; strItemID=Convert.ToString(e.Item.Cells[0].Text);
cn2.ConnectionString = (@"Server=(local);uid=yourid;pwd=yourpassword;database=Killua") ;
cn2.Open();
cmdSelect=new SqlCommand("select 作者姓名 FROM (论文信息 inner join 论文发表 ON 论文信息.序列号 = 论文发表.序列号) inner join 作者信息 ON 作者信息.学号 = 论文发表.学号 where 论文信息.序列号=@strItemID",cn2);
cmdSelect.Parameters.Add("@strItemID" , strItemID);
dtrAuthor=cmdSelect.ExecuteReader();
DropDownList drop=(DropDownList)e.Item.FindControl("dropAuthor");
drop.DataSource=dtrAuthor;
drop.DataTextField="作者姓名";
drop.DataBind();
dtrAuthor.Close();
cn2.Close();
}
}由于时间关系,采用了一下我以前做过的东西,懒得修改了,自己慢慢看慢慢改
DataGrid1_EditCommand事件中加入以下代码: DataGrid1.EditItemIndex = e.Item.ItemIndex '这里是你的重新绑定DataGrid过程
'*************** '取得编辑后的DropDownList
Dim MyDDL As DropDownList = CType(DataGrid1.Items(e.Item.ItemIndex).Cells(3).Controls(1), DropDownList) '下面就是为取得的DropDownList绑定值了
'取数据,并返回一个dt(过程省略)
MyDDL.DataSource = dt
MyDDL.DataTextField = "Text"
MyDDL.DataValueField = "Value"
MyDDL.DataBind()OK
<asp:TemplateColumn HeaderStyle-Width="60px" HeaderText="作者">
<ItemTemplate>
<asp:DropDownList Width="56px" ID="dropAuthor" Runat="server"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateColumn>