我在UpdatePanel
中有GridView
。在某些情况下,我必须在此GridView
中显示不同的列,因此我需要更改我的aspx
中指定的BoundFields
。动态改变GridView中的BoundField
如何更改BoundFields
以使GridView
填充为不同的查询和不同的字段?
ASPX
<cc1:GridView ID="grdImoveis" CssClass="StyleGrid" Width="100%" runat="server" ShowHeader="false"
AutoGenerateColumns="False" DataSourceID="dsGrid" BorderWidth="0px" GridLines="None"
AllowPaging="True" EnableModelValidation="True" >
<AlternatingRowStyle BackColor="White" CssClass="EstiloDalinhaAlternativaGrid" HorizontalAlign="Center" />
<RowStyle CssClass="EstiloDalinhaGrid" HorizontalAlign="Center" />
<Columns>
<asp:BoundField HeaderText="Nome" DataField="NomeCompleto" />
<asp:BoundField HeaderText="Cargo" DataField="DescricaoCargo1" />
<asp:BoundField HeaderText="Data Cadastro" DataField="DataHora" />
<asp:TemplateField ControlStyle-CssClass="acoes_lista_imovel" HeaderText="Curso">
<ItemTemplate>
<div class="acoes_lista_imovel">
<%# montaIcones(Eval("Usuario_Id").ToString())%>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</cc1:GridView>
后面的代码
protected void btnSelecionarData_OnClick(object sender, EventArgs e)
{
string select = string.Empty;
select += "SELECT San_Credenciada.Apelido, San_Usuario.NomeCompleto, San_Usuario.Usuario_Id, San_Usuario.DescricaoCargo1, "
+ "CONVERT(varchar, San_Usuario.DataHora, 103) AS DataHora, San_UsuarioCurso.Cv, San_UsuarioCurso.Institucional, "
+ "San_UsuarioCurso.Copon, San_UsuarioCurso.ManualCaptacaoESistema, San_UsuarioCurso.PosturaProfissional, San_UsuarioCurso.Certificado "
+ "FROM San_Usuario "
+ "JOIN San_Credenciada "
+ "ON San_Usuario.Credenciada_Id = San_Credenciada.Credenciada_Id "
+ "JOIN San_UsuarioCurso "
+ "ON San_Usuario.Usuario_Id = San_UsuarioCurso.Usuario_Id "
+ "WHERE San_Usuario.Provisorio = 1 "
+ "AND San_Usuario.Excluido = 0 "
+ "AND San_UsuarioCurso.DataCurso = '" + this.DtBusca.Value.ToString() +"' "
+ "GROUP BY San_Credenciada.Apelido, San_Usuario.NomeCompleto, San_Usuario.Usuario_Id, "
+ "San_Usuario.DescricaoCargo1, San_Usuario.DataHora, San_UsuarioCurso.Cv, San_UsuarioCurso.Institucional, "
+ "San_UsuarioCurso.Copon, San_UsuarioCurso.ManualCaptacaoESistema, San_UsuarioCurso.PosturaProfissional, San_UsuarioCurso.Certificado "
+ "ORDER BY San_Usuario.DataHora ASC ";
dsGrid.ConnectionString = c.Con;
dsGrid.SelectCommand = select;
dsGrid.Dispose();
但是,这将生成我的查询中存在的所有列,并在特定的公司我把图片 –
是的,否则你必须使用Grid的RowDataBound事件来改变它。你想改变什么?列标题?或者什么 –
例如,'SELECT Id,Name FROM User',如果我把这个查询填入一个带有'AutoGenerateColumn = true'的'GridView',会给我一个Id和Name列。我需要在此列的所有行中放置另一列,并显示特定图像。 –