1

私は のGridView中に を持っていUpdatePanelます。場合によっては、これに別の列を表示する必要があるため、で指定されているGridViewを変更する必要があります。BoundFieldsaspx

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();
4

3 に答える 3

2

クエリを正しく理解できれば、列を変更してください。これに対する簡単な解決策はdo not specify fields in your aspx page, just set AutoGenrateColumns = True、グリッド ビュー宣言でグリッドが次のようになることです。

<asp:GridView ID="gv" runat="server" AutoGenrateColumns="True" />

// Now in your code behind just specify its DataSource property it will fill up with your desired columns.
// Your query should contain only those columns which you want to show 
于 2012-09-14T15:22:52.193 に答える
1

GridViewを配置し、「AutoGenerateColumns = True」を有効にして、それぞれの場合にグリッドビューを塗りつぶすことができます。

于 2012-09-14T15:20:59.423 に答える
0

このコードを使用して、プログラムで ImageField を作成できます。

 ImageField img = new ImageField();
        img.HeaderText = "Pictuer";
        img.DataImageUrlField ="Pic";
        img.DataImageUrlFormatString = "images\\{0}";
        GridView1.AutoGenerateColumns = false;
        GridView1.Columns.Add(img);
于 2012-09-14T17:15:52.840 に答える