C# ASPxGridLookup:自动查找子表中的值
我在C# ASPxGridLookup:自动查找子表中的值,c#,asp.net,devexpress,C#,Asp.net,Devexpress,我在ASPxGridLookup方面遇到了一些问题。 为了添加ASPxGridLookup,我们在一个细节中创建了一个类似的代码 <dx:ASPxGridView ID="gvTable" ClientInstanceName="grid" runat="server" DataSourceID="dataSource" AutoGenerateColumns="false" Width="100%" KeyFieldName="ID"> <Co
ASPxGridLookup
方面遇到了一些问题。
为了添加ASPxGridLookup
,我们在一个细节中创建了一个类似的代码
<dx:ASPxGridView ID="gvTable" ClientInstanceName="grid" runat="server" DataSourceID="dataSource"
AutoGenerateColumns="false" Width="100%" KeyFieldName="ID">
<Columns>
<dx:GridViewCommandColumn VisibleIndex="0">
<EditButton Visible="true" />
</dx:GridViewCommandColumn>
<dx:GridViewDataTextColumn FieldName="ID" Caption="ID" Name="ID">
</dx:GridViewDataTextColumn>
<dx:GridViewDataColumn FieldName="ItemID" VisibleIndex="2">
<EditItemTemplate>
<dx:ASPxGridLookup ID="GridLookup" runat="server" SelectionMode="Single" DataSourceID="dataSource1"
KeyFieldName="ID" Width="250px" TextFormatString="{0}" MultiTextSeparator=", " Value='<%# Bind("ItemID") %>'
AutoGenerateColumns="true">
<GridViewProperties>
<Settings ShowFilterRow="True" />
</GridViewProperties>
</dx:ASPxGridLookup>
</EditItemTemplate>
</dx:GridViewDataColumn>
<dx:GridViewDataTextColumn FieldName="Title" Caption="Title" Name="Title">
</dx:GridViewDataTextColumn>
</Columns>
<Settings ShowFilterRow="True" ShowFilterRowMenu="true" />
<SettingsEditing PopupEditFormWidth="600px" />
</dx:ASPxGridView>
<asp:SqlDataSource ID="dataSource" runat="server" ConnectionString="<%$ ConnectionStrings:connectionString%>"
SelectCommand="SELECT * FROM [Abbreviation]"></asp:SqlDataSource>
<asp:SqlDataSource ID="dataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:connectionString%>"
SelectCommand="SELECT * FROM [Item]"></asp:SqlDataSource>
我生成表,添加列,并在其中添加查找
GridViewDataColumn col = new GridViewDataColumn
{
FieldName = field.Name,
Caption = field.Caption,
Name = field.Name
};
SqlDataSource sqlSource = new SqlDataSource("SELECT * FROM [Item]")
{
ID = "dataSource1";
};
dataSources.DataSources.Add(sqlSource);
ASPxGridLookup lookup = new ASPxGridLookup
{
SelectionMode = GridLookupSelectionMode.Single,
KeyFieldName = "ID",
AutoGenerateColumns = true
};
lookup.GridViewProperties.Settings.ShowFilterRow = true;
lookup.TextFormatString = "{0}";
lookup.Value = "Value='<%# Bind(\"ItemId\") %>'";
LookupTemplate template = new LookupTemplate(lookup);
col.EditItemTemplate = template;
gvTable.Columns.Add(col);
GridViewDataColumn col=新的GridViewDataColumn
{
FieldName=field.Name,
Caption=字段。Caption,
Name=field.Name
};
SqlDataSource sqlSource=新SqlDataSource(“从[项目]中选择*”)
{
ID=“数据源1”;
};
dataSources.dataSources.Add(sqlSource);
ASPxGridLookup lookup=新的ASPxGridLookup
{
SelectionMode=GridLookupSelectionMode.Single,
KeyFieldName=“ID”,
AutoGenerateColumns=true
};
lookup.GridViewProperties.Settings.ShowFilterRow=true;
lookup.TextFormatString=“{0}”;
lookup.Value=“Value=”;
LookupTemplate模板=新的LookupTemplate(查找);
col.EditItemTemplate=模板;
gvTable.Columns.Add(col);
当用户单击edit I get post back事件时。
我再次动态地形成所有表单,并执行正常操作(我将所有数据置于viewstate中,然后从中获取数据)
但在打开“详细信息”组合框时,该组合框仍然为空(没有一行中的字段值)。
如果我试图打开组合框-我收到了必要的表格
如何在
ASPxGridLookup
组合框中绑定值?看起来您在线程中发布了相同的问题。由于您提供了一个示例项目,我建议您将此请求转发给支持团队(因为–是DX用户的对等支持论坛)
public LookupTemplate(ASPxGridLookup lookup)
{
this.lookup = lookup;
}
#region Implementation of ITemplate
public void InstantiateIn(Control container)
{
container.Controls.Add(lookup);
}
#endregion
}
GridViewDataColumn col = new GridViewDataColumn
{
FieldName = field.Name,
Caption = field.Caption,
Name = field.Name
};
SqlDataSource sqlSource = new SqlDataSource("SELECT * FROM [Item]")
{
ID = "dataSource1";
};
dataSources.DataSources.Add(sqlSource);
ASPxGridLookup lookup = new ASPxGridLookup
{
SelectionMode = GridLookupSelectionMode.Single,
KeyFieldName = "ID",
AutoGenerateColumns = true
};
lookup.GridViewProperties.Settings.ShowFilterRow = true;
lookup.TextFormatString = "{0}";
lookup.Value = "Value='<%# Bind(\"ItemId\") %>'";
LookupTemplate template = new LookupTemplate(lookup);
col.EditItemTemplate = template;
gvTable.Columns.Add(col);