我有一个经典的父子关系,我想使用它来进行 CRUDasp:GridView
控制。对父级进行 CRUD 很容易,但挑战在于嵌套一个asp:GridView
在一个asp:GridView
这能够对儿童关系产生作用。
为了使问题变得更容易,我构建了一个示例。考虑以下 EF 代码:
public class Context : DbContext
{
public DbSet<Animal> Animals { get; set; }
public DbSet<Tag> Tags { get; set; }
}
public class Animal
{
public int AnimalID { get; set; }
public string Name { get; set; }
public virtual IEnumerable<Tag> Tags { get; set; }
}
public class Tag
{
public int TagID { get; set; }
public string Name { get; set; }
}
我正在使用一个asp:Gridview
查看/编辑Animal
对象:
<asp:GridView runat="server" DataSourceID="animalDataSource" DataKeyNames="AnimalID" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Description" HeaderText="Description" />
<asp:CommandField ShowCancelButton="true" ShowEditButton="true" ShowDeleteButton="true" />
</Columns>
</asp:GridView>
The DataSource
与后面的代码绑定:
protected void DataSource_ContextCreating(object sender, EntityDataSourceContextCreatingEventArgs e)
{
var context = new Context();
e.Context = ((IObjectContextAdapter)context).ObjectContext; }
}
我想包括一个嵌套的asp:Gridview
作为添加/删除/编辑的列之一Tag
属于那个的对象Animal
. 我怎样才能做到这一点?
BoundField 将指定数据源字段的值显示为文本。通过使用绑定字段,我们可以使用标题文本和数据字段直接绑定数据,而无需使用任何控件。 。 TemplateField 允许混合使用 HTML 标记、Web 控件和数据绑定语法。我们可以在模板字段中定义我们自己的asp.net 控件。所以基本上你将绑定字段转换为模板列模板列还附带一个编辑模板标签,它为您提供的不仅仅是所需的 gridview 行的标准编辑...例如,当处于编辑模式时,在此行中放置一个下拉列表供我选择 - 可能性是无限的所以
更改为模板字段去编辑
模板将网格控件添加到字段
添加编辑/删除链接按钮
- 进入编辑模板下嵌套网格的属性
- 查找更新、行数据绑定事件等
-
我认为这会有所帮助
调暗 grd1 作为 GridViewRow
Dim gv As GridView
Dim l1, l2 As Label
Dim strsql As String
For Each grd1 In GridView1.Rows
'find controls of parent gridrow
l1 = grd1.FindControl("l00")
l2 = grd1.FindControl("l1")
gv = grd1.FindControl("gv1")
strsql = "select file_name from product_file where pname='" & l1.Text & "' and categry='" & l2.Text & "'"
Dim dt1 As New DataTable()
Dim da1 As New SqlDataAdapter(strsql, con)
da1.Fill(dt1)
gv.DataSource = dt1
gv.DataBind()
Next
当你填充你的父网格时做这样的事情
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)