datagrid如何在后台的Page_load实现前台的一些小效果

o0mickyaa 2009-12-01 05:43:45
<asp:datagrid id="Dgstep" runat="server" OnCancelCommand="Dgstep_CancelCommand"
OnEditCommand="Dgstep_EditCommand">
<COLUMNS>
<asp:TemplateColumn >
<ItemTemplate>
<asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "DIVISION").ToString().Trim() %>' runat="server" ID="DIVISION"/>
</ItemTemplate>
<EditItemTemplate>
<asp:dropdownlist id="DrpDiVision" AutoPostBack="True" Runat="server" Width="200" OnSelectedIndexChanged="DrpDiVision_SelectedIndexChanged">
<asp:ListItem Value="ASSY"></asp:ListItem>
<asp:ListItem Value="FT"></asp:ListItem>
<asp:ListItem Value="CP"></asp:ListItem>

</asp:dropdownlist>
</EditItemTemplate>
</asp:TemplateColumn>
</COLUMNS>
</asp:datagrid>

现在假设前台的DROPDOWNLIST.LISTITEMS没有。如何在Page_load里面dropdownlist填充这些<asp:ListItem Value="ASSY"></asp:ListItem>
<asp:ListItem Value="FT"></asp:ListItem>
<asp:ListItem Value="CP"></asp:ListItem>


...全文
62 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
o0mickyaa 2009-12-02
  • 打赏
  • 举报
回复
谢谢解决了
Protected Sub Dgstep_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles Dgstep.ItemDataBound

If (e.Item.ItemType = ListItemType.EditItem) Then
Dim drpPlant As DropDownList = CType(e.Item.Cells(1).FindControl("DrpPlant"), DropDownList)

原因是直到ITEMDATABOUND事件才会生成EDItITEmTMPLATE
o0mickyaa 2009-12-02
  • 打赏
  • 举报
回复
貌似DATAGRID没有ROWDATABOUND事件
我在
Protected Sub DrpDiVision_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

Dim strDiv As String = CType(Dgstep.Items(Dgstep.EditItemIndex).Cells(1).Controls(1), DropDownList).SelectedValue
Dim drpPlant As DropDownList = CType(Dgstep.Items(Dgstep.EditItemIndex).Cells(0).Controls(1), DropDownList)
If strDiv = "ASSY" Then
drpPlant.Items.Clear()
drpPlant.Items.Insert(0, New ListItem("S1", "S1"))
drpPlant.Items.Insert(1, New ListItem("S2", "S2"))
drpPlant.Items.Insert(2, New ListItem("S3", "S3"))
drpPlant.Items.Insert(3, New ListItem("S5", "S5"))
       end if
end sub
能实现点更新时的效果,现在就是实现不了初始时的效果,我估计还是得遍历所有行

zhujiazhi 2009-12-01
  • 打赏
  • 举报
回复
gridview倒熟悉的,类似如下:
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList ddl = (DropDownList)e.Row.FindControl("dropdownlistid");
ListItem item = new ListItem();
item.Value = "1";
item.Text = "1";
ddl.Items.Add(item);
}
}
o0mickyaa 2009-12-01
  • 打赏
  • 举报
回复
她的代码都是前台写死的,我想前台不写,后台灵活改啦..加上这个DROPDOWNLIST是在EditItemTemplate里面.我想要实现估计的遍历所有行...当我只想点某行Edit按钮时,出现那些填充值..不知大家有啥思路
Luoable 2009-12-01
  • 打赏
  • 举报
回复
有个“清清月儿”的博客上 有文章叫“GridVIew 72 变化”还是什么的, 你找找肯定可以看到 转载相关高

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧