Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: el_doctor en 6 Enero 2016, 20:33 pm



Título: Agregar DataSource a control ASPxComboBox en un ASPxGridView
Publicado por: el_doctor en 6 Enero 2016, 20:33 pm
hola alguien que haya utilizado controles DevExpress específicamente ASPxGridView y ComboBox; he agregado un WebUserControl que es dónde estoy creando la vista.
A continuación dejo el diseño de la vista:
http://fotos.subefotos.com/1c4b51878348003215b1ee91b3d263f9o.png (http://fotos.subefotos.com/1c4b51878348003215b1ee91b3d263f9o.png)

El problema que tengo es que el ComboBox no se como poner el source para ese control en la gridview; dejo el código diseño y .cs del WebUserControl.

Código
  1. <dx:ASPxGridView ID="GridViewTransaction" runat="server" AutoGenerateColumns="false" OnCellEditorInitialize="GridViewTransaction_CellEditorInitialize" onini>
  2.        <Columns>
  3.            <dx:GridViewDataColumn FieldName="OidCCOrigin" Visible="false"></dx:GridViewDataColumn>
  4.            <dx:GridViewDataColumn FieldName="CenterCostOrigin" Caption="Centro de Costo"></dx:GridViewDataColumn>
  5.            <dx:GridViewDataColumn FieldName="OidAccount" Visible="false"></dx:GridViewDataColumn>
  6.            <dx:GridViewDataColumn FieldName="Account" Caption="Cuenta"></dx:GridViewDataColumn>
  7.            <dx:GridViewDataDateColumn FieldName="DateTransaction" Caption="Fecha Transacción"></dx:GridViewDataDateColumn>
  8.            <dx:GridViewDataColumn FieldName="Amount" Caption="Cantidad"></dx:GridViewDataColumn>
  9.            <dx:GridViewDataColumn FieldName="UnitPrice" Caption="Precio Unitario"></dx:GridViewDataColumn>
  10.            <dx:GridViewDataColumn FieldName="Total" Caption="Total"></dx:GridViewDataColumn>
  11.            <dx:GridViewDataTextColumn Caption="Centro Costo Destino">
  12.                <DataItemTemplate>
  13.                    <dx:ASPxComboBox ID="cmbCCDestination" runat="server" ValueType="System.Guid" ValueField="Oid"></dx:ASPxComboBox>
  14.                </DataItemTemplate>
  15.            </dx:GridViewDataTextColumn>
  16.  
  17.        </Columns>
  18.    </dx:ASPxGridView>
  19.  

El source de la grid lo paso de forma dinámica con el botón buscar ya que no quiero que se cargue al iniciar el control web por tanto de paso el source en el clic de buscar.

Código
  1. protected void searchTransaction_Click(object sender, EventArgs e)
  2. {
  3.  
  4.  
  5. if (ReferenceEquals(cmbCC.Value, null) &&
  6. ReferenceEquals(cmbCta.Value, null) &&
  7. ReferenceEquals(cmbPeriod.Value, null))
  8. {
  9. GridViewTransaction.DataSource = this._objectSpace.GetObjects<CostCenter.Module.BusinessObjects.Transaction>()
  10. .Select(s =>
  11. {
  12. OidCCOrigin = s.CenterCost.Oid,
  13. CenterCostOrigin = s.CenterCost.Name,
  14. OidAccount = s.Account.Oid,
  15. Account = s.Account.Description,
  16. DateTransaction = s.TransactionDate,
  17. Amount = s.Qty,
  18. UnitPrice = s.UnitPrice,
  19. Total = s.Total
  20. }).OrderBy(o => o.DateTransaction);
  21.  
  22. GridViewTransaction.DataBind();
  23. }
  24. }
  25.