Rank: Member Groups: Member
Joined: 6/4/2010 Posts: 16
|
Hi, Actually I've a grid, this is binding whit a DataSet, the question is how I can to use the sorting property ? I emphasize code important between label with [bFCruz]. The code is next.
Code: Visual Basic.NET
Private Sub obtenercargos()
Dim objSN As New snLsenet.sn_clsPersona
Dim objSNCP As New snLsenet.sn_clsConsultaF
Dim objXml As System.Xml.XmlDocument
Dim objDs As Data.DataSet
Dim intFgStatus As Integer
Dim intOrden As Integer
Dim intRdbCveCliente As Integer = 0
Dim intRdbRFC As Integer = 0
Dim intrdbRazonSocial As Integer = 0
Dim intCveCliente As Integer = 0
Dim strRFC As String = ""
Dim strRazonSocial As String = ""
Dim strErr As String = ""
Dim strUrl As String = ""
Dim sUrl As New StringBuilder
Dim strFecIni, strFecFin As String
Dim strContrato As String = ""
Dim dsaux As New Data.DataSet
Dim aux As New snLsenet.sn_clsContratoPropuesta
strMensaje = ""
intFgStatus = -1
intOrden = 2
lblMensaje.Text = ""
cmbContrato.Visible = False
txtContrato.Style.Add("display", "inline")
cmbMoneda.Enabled = True
panTotal.Visible = False
If Not rdbContrato.Checked And Not rdbCve.Checked And Not rdbNom.Checked And Not rdbRFC.Checked Then
MensajeError(Me, "Debe seleccionar una opción de búsqueda")
Me.hdnErrorMsg.Value = "Debe seleccionar una opción de búsqueda"
End If
If txtFechaValorInicio.Text.Trim.Length > 0 And txtFechaValorfin.Text.Trim.Length > 0 Then
''If txtFechaValorInicio.SelectedDateString.Trim.Length > 0 And txtFechaValorfin.SelectedDateString.Trim.Length > 0 Then
If Not IsDate(txtFechaValorInicio.Text) Then
''If Not IsDate(txtFechaValorInicio.SelectedDateString) Then
MensajeError(Me, "El dato introducido en el campo Fecha inicial no es valido")
Me.hdnErrorMsg.Value = "El dato introducido en el campo Fecha Inicial no es válido"
Exit Sub
End If
If Not IsDate(txtFechaValorfin.Text) Then
''If Not IsDate(txtFechaValorfin.SelectedDateString) Then
MensajeError(Me, "El dato introducido en el campo Fecha final no es valido")
Me.hdnErrorMsg.Value = "El dato introducido en el campo Fecha Final no es válido"
Exit Sub
End If
If Date.Compare(CDate(txtFechaValorInicio.Text), CDate(txtFechaValorfin.Text)) > 0 Then
''If Date.Compare(CDate(txtFechaValorInicio.SelectedDateString), CDate(txtFechaValorfin.SelectedDateString)) > 0 Then
MensajeError(Me, "La fecha de Inicio debe ser anterior o igual a la fecha de Termino")
Me.hdnErrorMsg.Value = "La Fecha de Inicio debe ser anterior o igua a la Fecha Final"
Exit Sub
End If
strFecIni = Format$(CDate(txtFechaValorInicio.Text), "yyyy-MM-dd")
''strFecIni = Format$(CDate(txtFechaValorInicio.SelectedDateString), "yyyy-MM-dd")
strFecFin = Format$(CDate(txtFechaValorfin.Text), "yyyy-MM-dd")
''strFecFin = Format$(CDate(txtFechaValorfin.SelectedDateString), "yyyy-MM-dd")
Else
strFecIni = ""
strFecFin = ""
End If
'Si no se selecciona la opcion de busqueda por Número de Contrato entonces:
If Not rdbContrato.Checked Then
If rdbCve.Checked Then intRdbCveCliente = 1
If rdbRFC.Checked Then intRdbRFC = 1
If rdbNom.Checked Then intrdbRazonSocial = 1
If Len(Trim$(Me.txtCve.Text)) > 0 Then
intCveCliente = CInt(Trim$(txtCve.Text))
End If
strRFC = Trim$(txtRFC.Text)
strRazonSocial = Trim$(txtNom.Text)
strMensaje = ""
strMensaje = ValidaCriteriosBusquedaPersona(intRdbCveCliente, intRdbRFC, intrdbRazonSocial, intCveCliente, strRFC, strRazonSocial)
If Len(Trim$(strMensaje)) > 0 Then MensajeError(Me, strMensaje) : Exit Sub
strMensaje = RevisaFirma(cmdBuscar, blnBit, intAcc, Me, strUser)
If Len(Trim$(strMensaje)) > 0 Then
If Trim$(strMensaje) <> "ABRE MODAL" Then MensajeError(Me, strMensaje)
txtLogin.Text = ""
txtPwd.Text = ""
Me.hdnErrorMsg.Value = strMensaje
Exit Sub
End If
'Mensaje Permiso de Operacion
If intAcc = 0 Then
MensajeError(Me, ObtenError(1))
Me.hdnErrorMsg.Value = ObtenError(1)
Exit Sub
End If
Try
objDs = objSN.ObtenDatasetPersona(intCveCliente, strRFC, strRazonSocial, intFgStatus, intOrden, strUser, 0, False, strMensaje, strFecOper, txtLogin.Text)
Catch ex As Exception
AbreVentError(Me, 0, ex.Message)
Exit Sub
End Try
If Len(Trim(strMensaje)) > 0 Then
AbreVentError(Me, 1, strMensaje)
txtCve.Text = ""
txtRFC.Text = ""
txtNom.Text = ""
lblPais.Text = ""
Exit Sub
End If
If objDs Is Nothing OrElse objDs.Tables.Count = 0 OrElse objDs.Tables(0).Rows.Count = 0 Then
MensajeError(Me, "No se encontraron registros con el parámetro dado")
Me.hdnErrorMsg.Value = "El No. de Cliente es incorrecto o inexistente."
'Me.lbldMsg.Text = Me.hdnErrorMsg.Value
''Me.msgConsultaCargos.Show("ProleaseNet", "No se encontraron registros con el parámetro dado", Nothing, New EO.Web.MsgBoxButton("OK", "on_button_clicked"))
'Me.dlgMsg.Show()
Me.txtEncontro.Text = ""
lblPais.Text = ""
Exit Sub
End If
'Si encuentra a más de una persona con los mismos criterios de búsqueda,
'se abre una ventana con el resultado, para que el usuario seleccione a una persona.
If Not objDs Is Nothing AndAlso objDs.Tables.Count > 0 AndAlso objDs.Tables(0).Rows.Count > 1 Then
sUrl.AppendFormat("window.open('")
sUrl.AppendFormat("./su_BuscaPersona.aspx?")
sUrl.AppendFormat("Nom={0}&Bandera=1&cveId={1}", Me.txtNom.Text, txtCve.ClientID)
sUrl.AppendFormat("&nomId={0}&rfcId={1}", txtNom.ClientID, txtRFC.ClientID)
sUrl.AppendFormat("&rdbCveId={0}", rdbCve.ClientID)
sUrl.AppendFormat("&strBoton={0}", cmdBuscar.ClientID)
sUrl.AppendFormat("', 'BusquedaPersona', 'toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=no,width=900,height=400,left=100,top=100;');")
ScriptManager.RegisterStartupScript(Me, GetType(Button), "AbrePopup", sUrl.ToString, True)
Else
txtNom.Text = objDs.Tables(0).Rows(0)("PNA_DS_NOMBRE")
txtRFC.Text = objDs.Tables(0).Rows(0)("PNA_CL_RFC")
txtCve.Text = objDs.Tables(0).Rows(0)("PNA_FL_PERSONA")
txtPJuridica.Text = objDs.Tables(0).Rows(0)("PNA_CL_PJURIDICA")
intCveCliente = objDs.Tables(0).Rows(0)("PNA_FL_PERSONA")
Dim objXmlp As System.Xml.XmlDocument = Nothing
Dim objSNp As New snLsenet.sn_clsPersona
objXmlp = objSNp.ObtenPersona(intCveCliente, strRFC, strRazonSocial, intFgStatus, intOrden, strUser, 0, False, strMensaje, strFecOper, strUsuFirma)
Dim intCvePais As String = objXmlp.ChildNodes(0).ChildNodes(0).SelectSingleNode("PAI_FL_CVE").InnerText.Trim
Dim objPais As Proleasenet.Clases.Pais
objPais = Proleasenet.Negocio.sn_clsPais.obtenerPais(intCvePais)
lblPais.Text = objPais.Pai_ds_nombre_espanol.Trim
'actualizamos el valor de la clave de cliente
intCveCliente = Val(Trim$(txtCve.Text))
ObtenerContratos(intCveCliente)
cmbContrato.Visible = True
txtContrato.Text = ""
txtContrato.Style.Add("display", "none")
Try 'Marredondo Tracker 9812 Modificaciones a pantallas para realizar filtros por empresa
[bFCruz]
objDs = objSNCP.ObtenMovimientosDS("", intCveCliente, cmbTmov.SelectedValue, cmbEsqFinan.SelectedValue, _
strFecIni, strFecFin, cmbMoneda.SelectedValue, cmbStatus.SelectedValue, strUser, intAcc, _
blnBit, strFecOper, "", strMensaje, 1, cmbEmpresa.SelectedValue)
'FCruz
Me.grdPba.SelectedItemIndex = -1
Me.grdPba.DataSource = objDs
Me.grdPba.DataBind()
[/bFCruz]
'If Not Request("PageNo") Is Nothing Then gvData.PageIndex = Request("PageNo")
decCapital_DG = 0
decInteres_DG = 0
decIVA_DG = 0
decTotal_DG = 0
decMontoPagado_DG = 0
decSaldo_DG = 0
arrCaracActFac = Nothing
ReDim arrCaracActFac(objDs.Tables(0).Rows.Count - 1)
For i As Integer = 0 To objDs.Tables(0).Rows.Count - 1
arrCaracActFac(i) = objDs.Tables(0).Rows(i).ItemArray(11).ToString.Trim
Next i
'gvDeuda.DataSource = objDs
'gvDeuda.DataBind()
'Marredondo TRACKER 9039
'GridView1.DataSource = objDs
'GridView1.DataBind()
'FIN TRACKER 9039
Catch ex As Exception
AbreVentError(Me, 1, ex.Message)
Exit Sub
End Try
If Len(Trim(strMensaje)) > 0 Then
AbreVentError(Me, 1, strMensaje)
End If
If objDs Is Nothing OrElse objDs.Tables.Count = 0 OrElse objDs.Tables(0).Rows.Count = 0 Then
MensajeError(Me, "No se localizó información de Movimientos")
Me.hdnErrorMsg.Value = "No se localizó información de Movimientos"
panTotal.Visible = False
Exit Sub
End If
End If
Else 'Busqueda por contrato
If rdbContrato.Checked = True Then
cmbContrato.Items.Clear()
cmbContrato.Visible = False
txtContrato.Visible = True
End If
If cmbContrato.Items.Count = 0 Then
strContrato = txtContrato.Text.Trim
Else
txtContrato.Text = cmbContrato.SelectedValue
strContrato = cmbContrato.SelectedValue
End If
Try
intCveCliente = objSN.ObtenClavePersona(strContrato)
If intCveCliente = 0 Then
MensajeError(Me, "El contrato especificado no existe")
Me.hdnErrorMsg.Value = "El contrato especificado no existe"
Exit Sub
End If
dsaux = aux.ObtenDatosContratoDS(strContrato, strMensaje)
If Not (Not dsaux Is Nothing AndAlso dsaux.Tables.Count > 0 AndAlso dsaux.Tables(0).Rows.Count > 0) Then
MensajeError(Me, "El contrato especificado no existe")
Me.hdnErrorMsg.Value = "El contrato especificado no existe"
Exit Sub
End If
cmbMoneda.SelectedValue = dsaux.Tables(0).Rows(0)("CTO_CL_MONEDA")
cmbEsqFinan.SelectedValue = ""
'ObtenerContratos(intCveCliente, txtContrato.Text.Trim)
'cmbContrato.Visible = True
'txtContrato.Text = ""
'txtContrato.Style.Add("display", "none")
Catch ex As Exception
AbreVentError(Me, 0, ex.Message)
Exit Sub
End Try
If Len(Trim(strMensaje)) > 0 Then
AbreVentError(Me, 1, strMensaje)
txtCve.Text = ""
txtRFC.Text = ""
txtNom.Text = ""
lblPais.Text = ""
Exit Sub
End If
If intCveCliente = 0 Then
MensajeError(Me, "No se encontraron registros con el parámetro dado")
Me.hdnErrorMsg.Value = "No se encontraron registros con el parámetro dado"
lblPais.Text = ""
Exit Sub
End If
Try
objDs = objSN.ObtenDatasetPersona(intCveCliente, strRFC, strRazonSocial, intFgStatus, intOrden, strUser, 0, False, strMensaje, strFecOper, txtLogin.Text)
Catch ex As Exception
AbreVentError(Me, 0, ex.Message)
Exit Sub
End Try
If Len(Trim(strMensaje)) > 0 Then
AbreVentError(Me, 1, strMensaje)
txtCve.Text = ""
txtRFC.Text = ""
txtNom.Text = ""
lblPais.Text = ""
Exit Sub
End If
If objDs Is Nothing OrElse objDs.Tables.Count = 0 OrElse objDs.Tables(0).Rows.Count = 0 Then
MensajeError(Me, "No se encontraron registros con el parámetro dado")
Me.hdnErrorMsg.Value = "No se encontraron registros con el parámetro dado"
Me.txtEncontro.Text = ""
lblPais.Text = ""
Exit Sub
End If
txtNom.Text = objDs.Tables(0).Rows(0)("PNA_DS_NOMBRE")
txtRFC.Text = objDs.Tables(0).Rows(0)("PNA_CL_RFC")
txtCve.Text = objDs.Tables(0).Rows(0)("PNA_FL_PERSONA")
txtPJuridica.Text = objDs.Tables(0).Rows(0)("PNA_CL_PJURIDICA")
intCveCliente = objDs.Tables(0).Rows(0)("PNA_FL_PERSONA")
Dim objXmlp As System.Xml.XmlDocument = Nothing
Dim objSNp As New snLsenet.sn_clsPersona
objXmlp = objSNp.ObtenPersona(intCveCliente, strRFC, strRazonSocial, intFgStatus, intOrden, strUser, 0, False, strMensaje, strFecOper, strUsuFirma)
Dim intCvePais As String = objXmlp.ChildNodes(0).ChildNodes(0).SelectSingleNode("PAI_FL_CVE").InnerText.Trim
Dim objPais As Proleasenet.Clases.Pais
objPais = Proleasenet.Negocio.sn_clsPais.obtenerPais(intCvePais)
lblPais.Text = objPais.Pai_ds_nombre_espanol.Trim
'actualizamos el valor de la clave de cliente
intCveCliente = Val(Trim$(txtCve.Text))
Try 'Marredondo Tracker 9812 Modificaciones a pantallas para realizar filtros por empresa
objDs = objSNCP.ObtenMovimientosDS(strContrato, 0, cmbTmov.SelectedValue, cmbEsqFinan.SelectedValue, _
strFecIni, strFecFin, cmbMoneda.SelectedValue, cmbStatus.SelectedValue, strUser, intAcc, _
blnBit, strFecOper, "", strMensaje, 1, cmbEmpresa.SelectedValue)
'If Not Request("PageNo") Is Nothing Then gvData.PageIndex = Request("PageNo")
decCapital_DG = 0
decInteres_DG = 0
decIVA_DG = 0
decTotal_DG = 0
decMontoPagado_DG = 0
decSaldo_DG = 0
arrCaracActFac = Nothing
ReDim arrCaracActFac(objDs.Tables(0).Rows.Count - 1)
For i As Integer = 0 To objDs.Tables(0).Rows.Count - 1
arrCaracActFac(i) = objDs.Tables(0).Rows(i).ItemArray(11).ToString.Trim
Next i
'FCruz
Me.grdPba.SelectedItemIndex = -1
Me.grdPba.DataSource = objDs
Me.grdPba.DataBind()
'gvDeuda.DataSource = objDs
'gvDeuda.DataBind()
'Marredondo TRACKER 9039
'GridView1.DataSource = objDs
'GridView1.DataBind()
'FIN TRACKER 9039
Catch ex As Exception
AbreVentError(Me, 1, ex.Message)
Exit Sub
End Try
If Len(Trim(strMensaje)) > 0 Then
AbreVentError(Me, 1, strMensaje)
End If
If objDs Is Nothing OrElse objDs.Tables.Count = 0 OrElse objDs.Tables(0).Rows.Count = 0 Then
MensajeError(Me, "No se localizó información de Movimientos")
Me.hdnErrorMsg.Value = "No se localizó la informacion de Movimientos"
panTotal.Visible = False
Exit Sub
End If
cmbMoneda.Enabled = True
cmbEsqFinan.Enabled = True
End If
Me.obten_Subtotales(objDs)
hidMostraTabla.Value = "0"
'gvDeuda.Style("display") = "inline"
panTotal.Visible = True
End Sub
Thanks in advance.
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,194
|
Hi, The Grid always works with table because the grid data is always two dimensional. When you set the Grid's DataSource to a DataSet object, you should also set the Grid's DataTable property to the name of the table you wish the Grid to load. The Grid then loads that table. If you wish to sort that table, you can get the table object, then change the Sort property for that table's DefaultView. For example:
Code: C#
ds.Tables["table_name"].DefaultView.Sort = "field_name DESC";
Note you must replace "table_name" and "field_name" with your real table name and field name. Also please keep in mind that this sorts all the data in memory. So if you have thousands of records then it probably won't work. In that case you should sort on the SQL level. Thanks!
|