将数据集绑定到gridview。 [英] Bind the dataset to the gridview.

查看:101
本文介绍了将数据集绑定到gridview。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我无法将数据集绑定到gridview。



以下是我的aspx和.vb代码

 <%@     Page    语言  =  VB    AutoEventWireup   =  false  

CodeFile = BVAL_Prices.aspx.vb 继承 = BVAL_Prices %>
< !DOCTYPE HTML PUBLIC - // W3C / / DTD HTML < span class =code-attribute> 4.0 Transitional // EN >
< html >
< head < span class =code-keyword>>
< meta http-equiv = 内容类型 内容 = text / html; charset = utf-8 >
< link href = ../../ styles / quicksite.css type = text / css rel = 样式表 >
< link href = ../../ styles / chkBoxScroll.css rel = stylesheet 类型 = text / css / >
< script src = ../ scripts / rwhitespace.js type = text / jscript > < / 脚本 >
< / head >
< BODY id = RWhitespaceBody onresize = rwhitespace_onresize() önload = rwhitespace_onload() style = padding-right:0; >

< div class = RightPannel id = RightPannel >
< div class = RightHeader id = RightHeader > BVAL价格< / div >
< div class = RightPannelBody id = RightPannelBody >
< table cellpadding = 5 cellspacing = 0 border = 0 bordercol或 = black width = 100%>< br mode = < span class =code-keyword> hold / > < tr >
< td style = width:2 % >
< / td >
< td style = width:96% valign = top >
<! - 内容到此处 - >
< 表格 id = form1 runat = 服务器 >

< div style = width:100%; height:40px;背景颜色:白色;边界:固体1#808080;填充:0 0 2 0; >
< div class = RightHeader >

< / div >
< div style = padding:2 5 2 5; >
< table < span class =code-attribute> id = 表1 宽度 = 100% cellpadding = 0 cellspacing = < span class =code-keyword> 0 runat = server >
< tr >
< td
style = width:10% valign = Top >
< asp:按钮 ID = btnAddSub runat = server 文本 = 添加/减去列

OnClientClick = ShowDiv();返回true / >
< / td >
< td 样式 = width:10% valign = top >
< div id = dv runat = server visible = false < span class =code-attribute> style = overflow-Y:scroll;身高:100px; background-color:#FFFFFF;宽度:200px; >
< asp:CheckBoxList ID = chkColumns runat = server AutoPostBack = true >
< / td > < / tr > < / div >

< span class =code-keyword>< / div > < / td >
< span class =code-keyword>< td style = width:20% valign = top >
< asp:按钮 ID = btnExportToExcel runat = server 文本 = 导出到Excel / > & nbsp;
< / td >

< / tr >

< width = 98% border = 0 cellspacing = 0 cellpadding = 0 >

< tr > < td colspan = 2 >
< asp: GridView ID = BVAL_Prices runat = server 可见 = true

AutoGenerateColumns = False DataKeyNames = MR_SEC_ID

BorderColor = #E7E7FF BorderWidth = 0px

< span class =code-attribute>
CellPadding = 3 GridLines = 垂直 Width = 98% >

< >
< asp:BoundField HeaderText = MR SEC ID DataField = MR_SEC_ID 可见 = true / >
< asp:BoundField HeaderText = STATE STREET CUSIP DataField = STATE_STREET_CUSIP
可见 = true / > ;
< asp:BoundField HeaderText = BOND CUSIP DataField = < span class =code-keyword> BOND_CUSIP 可见 = true / >
< asp:BoundField HeaderText = BLOOMBERG SECURITY ID DataField = BLOOMBERG_SECURITY_ID SortExpression = BLOOMBERG_SECURITY_ID 可见 = true / >
< asp:BoundField HeaderText = BB UNIQUE DataField = BB_UNIQUE SortExpression = BB_UNIQUE 可见 = true / >
< asp:BoundField HeaderText = 价格 DataField = < span class =code-keyword>价格 SortExpression = 价格 可见 = true / >
< / columns >
< HeaderStyle
字体大小 = < span class =code-keyword> 10px BackColor = #dbd8d1 / >
< alternatingrow style backcolor = #E7E7FF / >


< / td >
< / tr >
< / table >
< br / > $ b$b
<!-- Block content goes here -->
</div>
</div>
<br />

<asp:SqlDataSource ID=\"models_info\" runat=\"server\"

ConnectionString=\"<%$ ConnectionStrings:oramrp1_conn %>\"

ProviderName=\"<%$ ConnectionStrings:oramrp1_conn.ProviderName %>\"

SelectCommand=\"
select model_code,model_nme,comments_txt,Comments_Id
from lam_pricing.model
\"
>



</form>

<td style=\"width: 2%\">
</td>
</BODY></HTML>





Below is my vb code

Imports System.Timers 
Imports System.Data
Imports System.Windows.Forms
Imports IFC.Applications.PricingModel
Imports PricingDatabase
Imports PerSecurityWSDL
Imports System.Security.Cryptography.X509Certificates
Imports System.Collections.Generic
Imports System.Web.UI
Imports System.Web
Imports System.Data.OracleClient


Partial Class BVAL_Prices
Inherits System.Web.UI.Page

Private Shared aTimer As Sy stem.Timers.Timer
Dim sbmtGetDataReq As PerSecurityWSDL.SubmitGetDataRequest = New PerSecurityWSDL.SubmitGetDataRequest()
Dim sbmtGetDataRes As PerSecurityWSDL.SubmitGetDataResponse = New PerSecurityWSDL.SubmitGetDataResponse()
Dim retGetDataRes As PerSecurityWSDL.RetrieveGetDataResponse = New PerSecurityWSDL.RetrieveGetDataResponse()
Dim retGetDataReq As PerSecurityWSDL.RetrieveGetDataRequest = New PerSecurityWSDL.RetrieveGetDataRequest()
Dim ps As PerSecurityWSDL.PerSecuri tyWS = New PerSecurityWSDL.PerSecurityWS()

Dim getDataHeaders As PerSecurityWSDL.GetDataHeaders = New PerSecurityWSDL.GetDataHeaders()

Public MaxHeight As Integer = 300
''' <summary>
''' The width of the popup
''' </summary>
Public Width As Integer = 200



Dim objDao As New DAO

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Try

If Not Page.IsPostBack Then

bindBVALPrices()


End If


Catch ex As Exception

End Try
End Sub

Public Sub bindBVALPrices()
Try


Dim certificatePath As String = System.Configuration.ConfigurationManager.AppSettings(\"BloombergCertificatePath\")
Dim Password As String = System.Configuration.ConfigurationManager.AppSettings(\"BBPassword\")

Dim clientCert As New X509Certificate2(certificatePath, Password)

Dim strsqlBB As String = \"SELECT PSBM.MR_SEC_ID,PSBM.SECURITY_ID, PSBM.BB_UNIQUE FROM LAM_PRICING.PRICING_SECURITY_BB_MAPPING PSBM\" & _
\" WHERE PSBM.MR_SEC_ID IN (SELECT PSM.MR_SEC_ID FROM LAM_PRICING.PRICING_SECURITY_MASTER PSM\" & _
\" WHERE PSM.ACTIVE_IND = 'Y' AND PSM.ASSET_TYPE_CODE = 'BOND')\"


Dim strconnection As String = ConfigurationManager.ConnectionStrings(\"oramrp1_conn\").ConnectionString

Dim connection As New OracleConnection(strconnection)

Dim cmd As New OracleCommand(strsqlBB, connection)
Dim sqlDa As New OracleDataAdapter(cmd)
Dim dsBB As DataSet = New DataSet
sqlDa.Fill(dsBB)
'test.DataSource = dsBB
'test.DataBind()

Dim icount As Integer = 0
icount = dsBB.Tables(0).Rows.Count - 1
Dim strbb(icount) As String
'SendLotus()

ps.ClientCertificates.Add(clientCert)

Dim instrumentBB(icount) As PerSecurityWSDL.Instrument
Dim insBB As PerSecurityWSDL.Instruments = New PerSecurityWSDL.Instruments
' Dim fieldset As PerSecurityWSDL.BvalFieldSet = New PerSecurityWSDL.BvalFieldSet()


If (dsBB.Tables(0) Is Nothing) Then
'MessageBox.Show(\"No BVAL Prices\")
Else


For iDsBBCount As Integer = 0 To dsBB.Tables(0).Rows.Count - 1
instrumentBB(iDsBBCount) = New Instrument
instrumentBB(iDsBBCount).id = dsBB.Tables(0).Rows(iDsBBCount)(\"BB_UNIQUE\").ToString
instrumentBB(iDsBBCount).type = InstrumentType.BB_UNIQUE
instrumentBB(iDsBBCount).typeSpecified = True
Next


End If

getDataHeaders.secmaster = True
getDataHeaders.secmasterSpecified = True
getDataHeaders.closingvalues = True
getDataHeaders.closingvaluesSpecified = True
getDataHeaders.derived = True
getDataHeaders.derivedSpecified = True

insBB.instrument = instrumentBB

sbmtGetDataReq.headers = getDataHeaders
sbmtGetDataReq.instruments = insBB
sbmtGetDataReq.fields = New String() {\"PX_LAST\", \"ID_BB_UNIQUE\"}

Try
sbmtGetDataRes = ps.submitGetDataRequest(sbmtGetDataReq)
retGetDataReq.responseId = sbmtGetDataRes.responseId
retGetDataRes = ps.retrieveGetDataResponse(retGetDataReq)
If retGetDataRes.statusCode.code = 100 Then
aTimer = New System.Timers.Timer()
' Hook up the Elapsed event for the timer.
AddHandler aTimer.Elapsed, AddressOf OnTimedEvent
' Set the Interval to 5 mins (300000 milliseconds).
aTimer.Interval = 300000
aTimer.Enabled = True
End If
Catch ex As Exception
End Try
Catch ex As Exception

End Try

End Sub
Public Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs)

aTimer.Enabled = False
aTimer.Stop()
GetPrices()

End Sub

Public Sub GetPrices()

Dim strsqlBB As String = \"SELECT PSBM.MR_SEC_ID, PSBM.STATE_STREET_CUSIP, PSBM.BOND_CUSIP, PS BM.BLOOMBERG_SECURITY_ID, PSBM.BB_UNIQUE FROM LAM_PRICING.PRICING_SECURITY_BB_MAPPING PSBM \" & _
\" WHERE PSBM.MR_SEC_ID IN (SELECT PSM.MR_SEC_ID FROM LAM_PRICING.PRICING_SECURITY_MASTER PSM\" & _
\" WHERE PSM.ACTIVE_IND = 'Y' AND PSM.ASSET_TYPE_CODE = 'BOND')\"

Dim strconnection As String = ConfigurationManager.ConnectionStrings(\"oramrp1_conn\").ConnectionString

Dim connection As New OracleConnection(strconnection)

Dim cmd As New Orac leCommand(strsqlBB, connection)
Dim sqlDa As New OracleDataAdapter(cmd)
Dim dsBB As DataSet = New DataSet
sqlDa.Fill(dsBB)
Dim drBval As DataRow
Dim dcBVal As DataColumn
dcBVal = New DataColumn()
Dim dtBval As DataTable = GetTable()
Dim dsBval As DataSet = New DataSet
retGetDataRes = ps.retrieveGetDataResponse(retGetDataReq)
For Each dr As DataRow In dsBB.Tables(0).Rows

For Each inst As InstrumentData In retGetDataRes.instrumentDatas
If dr.Item(\"BB_UNIQUE\").ToString = inst.instrument.id.ToString Then
drBval = dtBval.NewRow()
drBval.Item(\"MR_SEC_ID\") = dr.Item(\"MR_SEC_ID\").ToString
drBval.Item(\"STATE_STREET_CUSIP\") = dr.Item(\"STATE_STREET_CUSIP\").ToString
drBval.Item(\"BOND_CUSIP\") = dr.Item(\"BOND_CUSIP\").ToString
drBval.Item(\"BLOOMBERG_SECURITY_ID\") = dr.Item(\"BLOOMBERG_SECURITY_ID\").ToString
drBval.Item(\"BB_UNIQUE\") = dr.Item(\"BB_UNIQUE\").ToString
drBval.Item(\"Prices\") = inst.data(0).value.ToString
dtBval.Rows.Add(drBval)
End If

Next


Next
dsBval.Tables.Add(dtBval)
BVAL_Prices.DataSource = dsBval
BVAL_Prices.DataBind()
BVAL_Prices.Visible = True

End Sub
Public Function GetTable() As DataTable

Dim dtTable As DataTable
dtTable = New DataTable

dtTable.Columns.Add(\"MR_SEC_ID\" , GetType(String))
dtTable.Columns.Add(\"STATE_STREET_CUSIP\", GetType(String))
dtTable.Columns.Add(\"BOND_CUSIP\", GetType(String))
dtTable.Columns.Add(\"BLOOMBERG_SECURITY_ID\", GetType(String))
dtTable.Columns.Add(\"BB_UNIQUE\", GetType(String))
dtTable.Columns.Add(\"Pri ces\", GetType(String))

Return dtTable

End Function
End Class

解决方案

ConnectionStrings:oramrp1_conn %>\"

ProviderName=\"<%


ConnectionStrings:oramrp1_conn.ProviderName %>\"

SelectCommand=\"
select model_code,model_nme,comments_txt,Comments_Id $b$ b from lam_pricing.model
\"
>



</form>

<td style=\"width: 2%\">
</td>
</BODY></HTML>





Below is my vb code

Imports System.Timers 
Imports System.Data
Imports System.Windows.Forms
Imports IFC.Applications.PricingModel
Imports PricingDatabase
Imports PerSecurityWSDL
Imports System.Security.Cryptography.X509Certificates
Imports System.Collections.Generic
Imports System.Web.UI
Imports System.Web
Imports System.Data.OracleClient


Partial Class BVAL_Prices
Inherits System.Web.UI.Page

Private Shared aTimer As System.Timers.Timer
Dim sbmtGetDataReq As PerSecurityWSDL.SubmitGetDataRequest = New PerSecurityWSDL.SubmitGetDataRequest()
Dim sbmtGetDataRes As PerSecurityWSDL.SubmitGetDataResponse = New PerSecurityWSDL.SubmitGetDataResponse()
Dim retGetDataRes As PerSecurityWSDL.RetrieveGetDataResponse = New PerSecurityWSDL.RetrieveGetDataResponse()
Dim retGetDataReq As PerSecurityWSDL.RetrieveGetDataRequest = New PerSecurityWSDL.RetrieveGetDataRequest()
Dim ps As PerSecurityWSDL.PerSecurityWS = New PerSecurityWSDL.PerSecurityWS()

Dim getDataHeaders As PerSecurityWSDL.GetDataHeaders = New PerSecurityWSDL.GetDataHeaders()

Public MaxHeight As Integer = 300
''' <summary>
''' The width of the popup
''' </summary>
Public Width As Integer = 200



Dim objDao As New DAO

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Try

I f Not Page.IsPostBack Then

bindBVALPrices()


End If


Catch ex As Exception

End Try
End Sub

Public Sub bindBVALPrices()
Try


Dim certificatePath As String = System.Configuration.ConfigurationManager.AppSettings(\"Bloo mbergCertificatePath\")
Dim Password As String = System.Configuration.ConfigurationManager.AppSettings(\"BBPassword\")

Dim clientCert As New X509Certificate2(certificatePath, Password)

Dim strsqlBB As String = \"SELECT PSBM.MR_SEC_ID,PSBM.SECURITY_ID, PSBM.BB_UNIQUE FROM LAM_PRICING.PRICING_SECURITY_BB_MAPPING PSBM\" & _
\" WHERE PSBM.MR_SEC_ID IN (SELECT PSM.MR_SEC_ID FROM LAM_PRICING.PRICING_SECURITY_MASTER PSM\" & _
\" WHERE PSM.ACTIVE_IND = 'Y' AND PSM.ASSET_TYPE_CODE = 'BOND')\"


Dim strconnection As String = ConfigurationManager.ConnectionStrings(\"oramrp1_conn\").ConnectionString

Dim connection As New OracleConnection(strconnection)

Dim cmd As New OracleCommand(strsqlBB, connection)
Dim sqlDa As New OracleDataAdapter(cmd)
Dim dsBB As DataSet = New DataSet
sqlDa.Fill(dsBB)
'test.DataSource = dsBB
'test.DataBind()

Dim icount As Integer = 0
icount = dsBB.Tables(0).Rows.Count - 1
Dim strbb(icount) As String
'SendLotus()

ps.ClientCertificates.Add(clientCert)

Dim instrumentBB(icount) As PerSecurityWSDL.Instrument
Dim insBB As PerSecurityWSDL.Instruments = New PerSecurityWSDL.Instruments
' Dim fieldset As PerSecurityWSDL.BvalFieldSet = New PerSecurityWSDL.BvalFieldSet()


If (dsBB.Tables(0) Is Nothing) Then
'MessageBox.Show(\"No BVAL Prices\")
Else


For iDsBBCount As Integer = 0 To dsBB.Tables(0).Rows.Count - 1
instrumentBB(iDsBBCount) = New Instrument
instrumentBB(iDsBBCount).id = dsBB.Tables(0).Rows(iDsBBCount)(\"BB_UNIQUE\").ToString
instrumentBB(iDsBBCount).type = InstrumentType.BB_UNIQUE
instrumentBB(iDsBBCount).typeSpecified = True
Next


End If

getDataHeaders.secmaster = True
getDataHeaders.secmasterSpecified = True
getDataHeaders.closingvalues = True
getDataHeaders.closingvaluesSpecified = True
getDataHeaders.derived = True
getDataHeaders.derivedSpecified = True

insBB.instrument = instrumentBB

sbmtGetDataReq.headers = getDataHeaders
sbmtGetDataReq.instruments = insBB
sbmtGetDataReq.fields = New String() {\"PX_LAST\", \"ID_BB_UNIQUE\"}

Try
sbmtGetDataRes = ps.submitGetDataRequest(sbmtGetDataReq)
retGetDataReq.responseId = sbmtGetDataRes.responseId
retGetDataRes = ps.retrieveGetDataResponse(retGetDataReq)
If retGetDataRes.statusCode.code = 100 Then
aTimer = New System.Timers.Timer()
' Hook up the Elapsed event for the timer.
AddHandler aTimer.Elapsed, AddressOf OnTimedEvent
' Set the Interval to 5 mins (300000 milliseconds).
aTimer.Interval = 300000
aTimer.Enabled = True
End If
Catch ex As Exception
End Try
Catch ex As Exception

End Try

End Sub
Public Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs)

aTimer.Enabled = False
aTimer.Stop()
GetPrices()

End Sub

Public Sub GetPrices()

Dim strsqlBB As String = \"SELECT PSBM.MR_SEC_ID, PSBM.STATE_STREET_CUSIP, PSBM.BOND_CUSIP, PS BM.BLOOMBERG_SECURITY_ID, PSBM.BB_UNIQUE FROM LAM_PRICING.PRICING_SECURITY_BB_MAPPING PSBM \" & _
\" WHERE PSBM.MR_SEC_ID IN (SELECT PSM.MR_SEC_ID FROM LAM_PRICING.PRICING_SECURITY_MASTER PSM\" & _
\" WHERE PSM.ACTIVE_IND = 'Y' AND PSM.ASSET_TYPE_CODE = 'BOND')\"

Dim strconnection As String = ConfigurationManager.ConnectionStrings(\"oramrp1_conn\").ConnectionString

Dim connection As New OracleConnection(strconnection)

Dim cmd As New Orac leCommand(strsqlBB, connection)
Dim sqlDa As New OracleDataAdapter(cmd)
Dim dsBB As DataSet = New DataSet
sqlDa.Fill(dsBB)
Dim drBval As DataRow
Dim dcBVal As DataColumn
dcBVal = New DataColumn()
Dim dtBval As DataTable = GetTable()
Dim dsBval As DataSet = New DataSet
retGetDataRes = ps.retrieveGetDataResponse(retGetDataReq)
For Each dr As DataRow In dsBB.Tables(0).Rows

For Each inst As InstrumentData In retGetDataRes.instrumentDatas
If dr.Item(\"BB_UNIQUE\").ToString = inst.instrument.id.ToString Then
drBval = dtBval.NewRow()
drBval.Item(\"MR_SEC_ID\") = dr.Item(\"MR_SEC_ID\").ToString
drBval.Item(\"STATE_STREET_CUSIP\") = dr.Item(\"STATE_STREET_CUSIP\").ToString
drBval.Item(\"BOND_CUSIP\") = dr.Item(\"BOND_CUSIP\").ToString
drBval.Item(\"BLOOMBERG_SECURITY_ID\") = dr.Item(\"BLOOMBERG_SECURITY_ID\").ToString
drBval.Item(\"BB_UNIQUE\") = dr.Item(\"BB_UNIQUE\").ToString
drBval.Item(\"Prices\") = inst.data(0).value.ToString
dtBval.Rows.Add(drBval)
End If

Next


Next
dsBval.Tables.Add(dtBval)
BVAL_Prices.DataSource = dsBval
BVAL_Prices.DataBind()
BVAL_Prices.Visible = True

End Sub
Public Function GetTable() As DataTable

Dim dtTable As DataTable
dtTable = New DataTable

dtTable.Columns.Add(\"MR_SEC_ID\" , GetType(String))
dtTable.Columns.Add(\"STATE_STREET_CUSIP\", GetType(String))
dtTable.Columns.Add(\"BOND_CUSIP\", GetType(String))
dtTable.Columns.Add(\"BLOOMBERG_SECURITY_ID\", GetType(String))
dtTable.Columns.Add(\"BB_UNIQUE\", GetType(String))
dtTable.Columns.Add(\"Pri ces\", GetType(String))

Return dtTable

End Function
End Class


You should either bind a datatable to a Gridview or when you bind a dataset, then you should tell the Gridview which datatable it should be bound to....



DataGridView1.AutoGenerateColumns = True; 
DataGridView1.DataSource = ds; // dataset
DataGridView1.DataMember = \"TableName\";


Hi,

Am not able to bind the dataset to the gridview.

below are my aspx and .vb code

<%@ Page Language="VB" AutoEventWireup="false"

CodeFile="BVAL_Prices.aspx.vb" Inherits="BVAL_Prices" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<link href="../../styles/quicksite.css" type="text/css" rel="stylesheet">
<link href="../../styles/chkBoxScroll.css" rel="stylesheet" type="text/css" />
<script src="../scripts/rwhitespace.js" type ="text/jscript" ></script>
</head>
<BODY id=RWhitespaceBody onresize=rwhitespace_onresize()  önload=rwhitespace_onload() style="padding-right:0;">

<div class="RightPannel" id="RightPannel">
<div class="RightHeader" id="RightHeader">BVAL Prices</div>
<div class="RightPannelBody" id="RightPannelBody">
    <table cellpadding="5" cellspacing="0" border="0" bordercolor="black" width="100%><br" mode="hold" />        <tr>
            <td style="width: 2%">
            </td>
            <td style="width: 96%" valign="top">
            <!-- content goes here-->
           <form id="form1"  runat="server" >

              <div style="width: 100%;height:40px; background-color:white; border:solid 1 #808080; padding: 0 0 2 0;">
              <div class="RightHeader">

                </div>
                <div style="padding: 2 5 2 5;">
                <table id="Table1" width="100%" cellpadding="0" cellspacing="0"  runat="server">
            <tr>
            <td style="width:10%" valign="Top">
                  <asp:Button ID="btnAddSub" runat="server" Text="Add/Subtract Columns"

                  OnClientClick="ShowDiv(); return true" />
            </td>
            <td style="width:10%" valign="top">
            <div id ="dv"  runat="server" visible="false" style="overflow-Y: scroll; height: 100px; background-color: #FFFFFF;  width: 200px;">
             <asp:CheckBoxList ID = "chkColumns" runat="server" AutoPostBack="true">
             </td></tr></div>

                </div></td>
                 <td style="width:20%" valign="top">
                            <asp:Button ID="btnExportToExcel" runat="server" Text="Export To Excel" />&nbsp;
                 </td>

            </tr>
             
        <table width="98%" border="0" cellspacing="0" cellpadding="0">

            <tr> <td colspan="2">
               <asp:GridView ID="BVAL_Prices" runat="server" Visible="true"

                        AutoGenerateColumns="False"   DataKeyNames="MR_SEC_ID"

                        BorderColor="#E7E7FF" BorderWidth="0px"

                        CellPadding="3" GridLines="Vertical" Width="98%">

                        <columns>
                           <asp:BoundField HeaderText="MR SEC ID" DataField="MR_SEC_ID" Visible ="true"/>
                          <asp:BoundField HeaderText="STATE STREET CUSIP" DataField="STATE_STREET_CUSIP" Visible ="true"/>
                           <asp:BoundField HeaderText="BOND CUSIP" DataField="BOND_CUSIP" Visible ="true"/>
                            <asp:BoundField HeaderText="BLOOMBERG SECURITY ID" DataField="BLOOMBERG_SECURITY_ID" SortExpression="BLOOMBERG_SECURITY_ID" Visible ="true"/>
                            <asp:BoundField HeaderText="BB UNIQUE" DataField="BB_UNIQUE"  SortExpression="BB_UNIQUE" Visible ="true"/>
                            <asp:BoundField HeaderText="Prices"  DataField="Prices" SortExpression="Prices" Visible ="true"/>
                        </columns>
                        <HeaderStyle Font-Size="10px" BackColor="#dbd8d1" />
                        <alternatingrowstyle backcolor="#E7E7FF" />
                    

            </td>
        </tr>
        </table>
        <br />

                <!-- Block content goes here-->
                </div>
            </div>
            <br />

                <asp:SqlDataSource ID="models_info" runat="server"

            ConnectionString="<%$ ConnectionStrings:oramrp1_conn %>"

            ProviderName="<%$ ConnectionStrings:oramrp1_conn.ProviderName %>"

            SelectCommand="
select model_code,model_nme,comments_txt,Comments_Id
from lam_pricing.model
            ">

        

            </form>
            
            <td style="width: 2%">
            </td>    
</BODY></HTML>



Below is my vb code

Imports System.Timers
Imports System.Data
Imports System.Windows.Forms
Imports IFC.Applications.PricingModel
Imports PricingDatabase
Imports PerSecurityWSDL
Imports System.Security.Cryptography.X509Certificates
Imports System.Collections.Generic
Imports System.Web.UI
Imports System.Web
Imports System.Data.OracleClient


Partial Class BVAL_Prices
    Inherits System.Web.UI.Page

    Private Shared aTimer As System.Timers.Timer
    Dim sbmtGetDataReq As PerSecurityWSDL.SubmitGetDataRequest = New PerSecurityWSDL.SubmitGetDataRequest()
    Dim sbmtGetDataRes As PerSecurityWSDL.SubmitGetDataResponse = New PerSecurityWSDL.SubmitGetDataResponse()
    Dim retGetDataRes As PerSecurityWSDL.RetrieveGetDataResponse = New PerSecurityWSDL.RetrieveGetDataResponse()
    Dim retGetDataReq As PerSecurityWSDL.RetrieveGetDataRequest = New PerSecurityWSDL.RetrieveGetDataRequest()
    Dim ps As PerSecurityWSDL.PerSecurityWS = New PerSecurityWSDL.PerSecurityWS()

    Dim getDataHeaders As PerSecurityWSDL.GetDataHeaders = New PerSecurityWSDL.GetDataHeaders()

    Public MaxHeight As Integer = 300
    ''' <summary>
    ''' The width of the popup
    ''' </summary>
    Public Width As Integer = 200



    Dim objDao As New DAO

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Try
           
            If Not Page.IsPostBack Then

                bindBVALPrices()


            End If


        Catch ex As Exception

        End Try
    End Sub

    Public Sub bindBVALPrices()
        Try
            

            Dim certificatePath As String = System.Configuration.ConfigurationManager.AppSettings("BloombergCertificatePath")
            Dim Password As String = System.Configuration.ConfigurationManager.AppSettings("BBPassword")

            Dim clientCert As New X509Certificate2(certificatePath, Password)

            Dim strsqlBB As String = "SELECT PSBM.MR_SEC_ID,PSBM.SECURITY_ID,  PSBM.BB_UNIQUE FROM LAM_PRICING.PRICING_SECURITY_BB_MAPPING PSBM" & _
                                          " WHERE PSBM.MR_SEC_ID IN (SELECT PSM.MR_SEC_ID FROM LAM_PRICING.PRICING_SECURITY_MASTER PSM" & _
                                            " WHERE PSM.ACTIVE_IND = 'Y' AND PSM.ASSET_TYPE_CODE = 'BOND')"


            Dim strconnection As String = ConfigurationManager.ConnectionStrings("oramrp1_conn").ConnectionString

            Dim connection As New OracleConnection(strconnection)

            Dim cmd As New OracleCommand(strsqlBB, connection)
            Dim sqlDa As New OracleDataAdapter(cmd)
            Dim dsBB As DataSet = New DataSet
            sqlDa.Fill(dsBB)
            'test.DataSource = dsBB
            'test.DataBind()

            Dim icount As Integer = 0
            icount = dsBB.Tables(0).Rows.Count - 1
            Dim strbb(icount) As String
            'SendLotus()

            ps.ClientCertificates.Add(clientCert)
           
            Dim instrumentBB(icount) As PerSecurityWSDL.Instrument
            Dim insBB As PerSecurityWSDL.Instruments = New PerSecurityWSDL.Instruments
            ' Dim fieldset As PerSecurityWSDL.BvalFieldSet = New PerSecurityWSDL.BvalFieldSet()


            If (dsBB.Tables(0) Is Nothing) Then
                'MessageBox.Show("No BVAL Prices")
            Else


                For iDsBBCount As Integer = 0 To dsBB.Tables(0).Rows.Count - 1
                    instrumentBB(iDsBBCount) = New Instrument
                    instrumentBB(iDsBBCount).id = dsBB.Tables(0).Rows(iDsBBCount)("BB_UNIQUE").ToString
                    instrumentBB(iDsBBCount).type = InstrumentType.BB_UNIQUE
                    instrumentBB(iDsBBCount).typeSpecified = True
                Next


            End If

            getDataHeaders.secmaster = True
            getDataHeaders.secmasterSpecified = True
            getDataHeaders.closingvalues = True
            getDataHeaders.closingvaluesSpecified = True
            getDataHeaders.derived = True
            getDataHeaders.derivedSpecified = True

            insBB.instrument = instrumentBB

            sbmtGetDataReq.headers = getDataHeaders
            sbmtGetDataReq.instruments = insBB
            sbmtGetDataReq.fields = New String() {"PX_LAST", "ID_BB_UNIQUE"}

            Try
                sbmtGetDataRes = ps.submitGetDataRequest(sbmtGetDataReq)
                retGetDataReq.responseId = sbmtGetDataRes.responseId
                retGetDataRes = ps.retrieveGetDataResponse(retGetDataReq)
                If retGetDataRes.statusCode.code = 100 Then
                    aTimer = New System.Timers.Timer()
                    ' Hook up the Elapsed event for the timer. 
                    AddHandler aTimer.Elapsed, AddressOf OnTimedEvent
                    ' Set the Interval to 5 mins (300000 milliseconds).
                    aTimer.Interval = 300000
                    aTimer.Enabled = True
                End If
            Catch ex As Exception
            End Try
        Catch ex As Exception

        End Try

    End Sub
    Public Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs)

        aTimer.Enabled = False
        aTimer.Stop()
        GetPrices()

    End Sub

    Public Sub GetPrices()

        Dim strsqlBB As String = "SELECT PSBM.MR_SEC_ID, PSBM.STATE_STREET_CUSIP, PSBM.BOND_CUSIP, PSBM.BLOOMBERG_SECURITY_ID,  PSBM.BB_UNIQUE FROM LAM_PRICING.PRICING_SECURITY_BB_MAPPING PSBM " & _
                                          " WHERE PSBM.MR_SEC_ID IN (SELECT PSM.MR_SEC_ID FROM LAM_PRICING.PRICING_SECURITY_MASTER PSM" & _
                                            " WHERE PSM.ACTIVE_IND = 'Y' AND PSM.ASSET_TYPE_CODE = 'BOND')"

        Dim strconnection As String = ConfigurationManager.ConnectionStrings("oramrp1_conn").ConnectionString

        Dim connection As New OracleConnection(strconnection)

        Dim cmd As New OracleCommand(strsqlBB, connection)
        Dim sqlDa As New OracleDataAdapter(cmd)
        Dim dsBB As DataSet = New DataSet
        sqlDa.Fill(dsBB)
        Dim drBval As DataRow
        Dim dcBVal As DataColumn
        dcBVal = New DataColumn()
        Dim dtBval As DataTable = GetTable()
        Dim dsBval As DataSet = New DataSet
        retGetDataRes = ps.retrieveGetDataResponse(retGetDataReq)
        For Each dr As DataRow In dsBB.Tables(0).Rows

            For Each inst As InstrumentData In retGetDataRes.instrumentDatas
                If dr.Item("BB_UNIQUE").ToString = inst.instrument.id.ToString Then
                    drBval = dtBval.NewRow()
                    drBval.Item("MR_SEC_ID") = dr.Item("MR_SEC_ID").ToString
                    drBval.Item("STATE_STREET_CUSIP") = dr.Item("STATE_STREET_CUSIP").ToString
                    drBval.Item("BOND_CUSIP") = dr.Item("BOND_CUSIP").ToString
                    drBval.Item("BLOOMBERG_SECURITY_ID") = dr.Item("BLOOMBERG_SECURITY_ID").ToString
                    drBval.Item("BB_UNIQUE") = dr.Item("BB_UNIQUE").ToString
                    drBval.Item("Prices") = inst.data(0).value.ToString
                    dtBval.Rows.Add(drBval)
                End If

            Next


        Next
        dsBval.Tables.Add(dtBval)
        BVAL_Prices.DataSource = dsBval
        BVAL_Prices.DataBind()
        BVAL_Prices.Visible = True

    End Sub
    Public Function GetTable() As DataTable

        Dim dtTable As DataTable
        dtTable = New DataTable

        dtTable.Columns.Add("MR_SEC_ID", GetType(String))
        dtTable.Columns.Add("STATE_STREET_CUSIP", GetType(String))
        dtTable.Columns.Add("BOND_CUSIP", GetType(String))
        dtTable.Columns.Add("BLOOMBERG_SECURITY_ID", GetType(String))
        dtTable.Columns.Add("BB_UNIQUE", GetType(String))
        dtTable.Columns.Add("Prices", GetType(String))

        Return dtTable

    End Function
End Class

解决方案

ConnectionStrings:oramrp1_conn %>" ProviderName="<%


ConnectionStrings:oramrp1_conn.ProviderName %>" SelectCommand=" select model_code,model_nme,comments_txt,Comments_Id from lam_pricing.model "> </form> <td style="width: 2%"> </td> </BODY></HTML>



Below is my vb code

Imports System.Timers
Imports System.Data
Imports System.Windows.Forms
Imports IFC.Applications.PricingModel
Imports PricingDatabase
Imports PerSecurityWSDL
Imports System.Security.Cryptography.X509Certificates
Imports System.Collections.Generic
Imports System.Web.UI
Imports System.Web
Imports System.Data.OracleClient


Partial Class BVAL_Prices
    Inherits System.Web.UI.Page

    Private Shared aTimer As System.Timers.Timer
    Dim sbmtGetDataReq As PerSecurityWSDL.SubmitGetDataRequest = New PerSecurityWSDL.SubmitGetDataRequest()
    Dim sbmtGetDataRes As PerSecurityWSDL.SubmitGetDataResponse = New PerSecurityWSDL.SubmitGetDataResponse()
    Dim retGetDataRes As PerSecurityWSDL.RetrieveGetDataResponse = New PerSecurityWSDL.RetrieveGetDataResponse()
    Dim retGetDataReq As PerSecurityWSDL.RetrieveGetDataRequest = New PerSecurityWSDL.RetrieveGetDataRequest()
    Dim ps As PerSecurityWSDL.PerSecurityWS = New PerSecurityWSDL.PerSecurityWS()

    Dim getDataHeaders As PerSecurityWSDL.GetDataHeaders = New PerSecurityWSDL.GetDataHeaders()

    Public MaxHeight As Integer = 300
    ''' <summary>
    ''' The width of the popup
    ''' </summary>
    Public Width As Integer = 200



    Dim objDao As New DAO

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Try
           
            If Not Page.IsPostBack Then

                bindBVALPrices()


            End If


        Catch ex As Exception

        End Try
    End Sub

    Public Sub bindBVALPrices()
        Try
            

            Dim certificatePath As String = System.Configuration.ConfigurationManager.AppSettings("BloombergCertificatePath")
            Dim Password As String = System.Configuration.ConfigurationManager.AppSettings("BBPassword")

            Dim clientCert As New X509Certificate2(certificatePath, Password)

            Dim strsqlBB As String = "SELECT PSBM.MR_SEC_ID,PSBM.SECURITY_ID,  PSBM.BB_UNIQUE FROM LAM_PRICING.PRICING_SECURITY_BB_MAPPING PSBM" & _
                                          " WHERE PSBM.MR_SEC_ID IN (SELECT PSM.MR_SEC_ID FROM LAM_PRICING.PRICING_SECURITY_MASTER PSM" & _
                                            " WHERE PSM.ACTIVE_IND = 'Y' AND PSM.ASSET_TYPE_CODE = 'BOND')"


            Dim strconnection As String = ConfigurationManager.ConnectionStrings("oramrp1_conn").ConnectionString

            Dim connection As New OracleConnection(strconnection)

            Dim cmd As New OracleCommand(strsqlBB, connection)
            Dim sqlDa As New OracleDataAdapter(cmd)
            Dim dsBB As DataSet = New DataSet
            sqlDa.Fill(dsBB)
            'test.DataSource = dsBB
            'test.DataBind()

            Dim icount As Integer = 0
            icount = dsBB.Tables(0).Rows.Count - 1
            Dim strbb(icount) As String
            'SendLotus()

            ps.ClientCertificates.Add(clientCert)
           
            Dim instrumentBB(icount) As PerSecurityWSDL.Instrument
            Dim insBB As PerSecurityWSDL.Instruments = New PerSecurityWSDL.Instruments
            ' Dim fieldset As PerSecurityWSDL.BvalFieldSet = New PerSecurityWSDL.BvalFieldSet()


            If (dsBB.Tables(0) Is Nothing) Then
                'MessageBox.Show("No BVAL Prices")
            Else


                For iDsBBCount As Integer = 0 To dsBB.Tables(0).Rows.Count - 1
                    instrumentBB(iDsBBCount) = New Instrument
                    instrumentBB(iDsBBCount).id = dsBB.Tables(0).Rows(iDsBBCount)("BB_UNIQUE").ToString
                    instrumentBB(iDsBBCount).type = InstrumentType.BB_UNIQUE
                    instrumentBB(iDsBBCount).typeSpecified = True
                Next


            End If

            getDataHeaders.secmaster = True
            getDataHeaders.secmasterSpecified = True
            getDataHeaders.closingvalues = True
            getDataHeaders.closingvaluesSpecified = True
            getDataHeaders.derived = True
            getDataHeaders.derivedSpecified = True

            insBB.instrument = instrumentBB

            sbmtGetDataReq.headers = getDataHeaders
            sbmtGetDataReq.instruments = insBB
            sbmtGetDataReq.fields = New String() {"PX_LAST", "ID_BB_UNIQUE"}

            Try
                sbmtGetDataRes = ps.submitGetDataRequest(sbmtGetDataReq)
                retGetDataReq.responseId = sbmtGetDataRes.responseId
                retGetDataRes = ps.retrieveGetDataResponse(retGetDataReq)
                If retGetDataRes.statusCode.code = 100 Then
                    aTimer = New System.Timers.Timer()
                    ' Hook up the Elapsed event for the timer. 
                    AddHandler aTimer.Elapsed, AddressOf OnTimedEvent
                    ' Set the Interval to 5 mins (300000 milliseconds).
                    aTimer.Interval = 300000
                    aTimer.Enabled = True
                End If
            Catch ex As Exception
            End Try
        Catch ex As Exception

        End Try

    End Sub
    Public Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs)

        aTimer.Enabled = False
        aTimer.Stop()
        GetPrices()

    End Sub

    Public Sub GetPrices()

        Dim strsqlBB As String = "SELECT PSBM.MR_SEC_ID, PSBM.STATE_STREET_CUSIP, PSBM.BOND_CUSIP, PSBM.BLOOMBERG_SECURITY_ID,  PSBM.BB_UNIQUE FROM LAM_PRICING.PRICING_SECURITY_BB_MAPPING PSBM " & _
                                          " WHERE PSBM.MR_SEC_ID IN (SELECT PSM.MR_SEC_ID FROM LAM_PRICING.PRICING_SECURITY_MASTER PSM" & _
                                            " WHERE PSM.ACTIVE_IND = 'Y' AND PSM.ASSET_TYPE_CODE = 'BOND')"

        Dim strconnection As String = ConfigurationManager.ConnectionStrings("oramrp1_conn").ConnectionString

        Dim connection As New OracleConnection(strconnection)

        Dim cmd As New OracleCommand(strsqlBB, connection)
        Dim sqlDa As New OracleDataAdapter(cmd)
        Dim dsBB As DataSet = New DataSet
        sqlDa.Fill(dsBB)
        Dim drBval As DataRow
        Dim dcBVal As DataColumn
        dcBVal = New DataColumn()
        Dim dtBval As DataTable = GetTable()
        Dim dsBval As DataSet = New DataSet
        retGetDataRes = ps.retrieveGetDataResponse(retGetDataReq)
        For Each dr As DataRow In dsBB.Tables(0).Rows

            For Each inst As InstrumentData In retGetDataRes.instrumentDatas
                If dr.Item("BB_UNIQUE").ToString = inst.instrument.id.ToString Then
                    drBval = dtBval.NewRow()
                    drBval.Item("MR_SEC_ID") = dr.Item("MR_SEC_ID").ToString
                    drBval.Item("STATE_STREET_CUSIP") = dr.Item("STATE_STREET_CUSIP").ToString
                    drBval.Item("BOND_CUSIP") = dr.Item("BOND_CUSIP").ToString
                    drBval.Item("BLOOMBERG_SECURITY_ID") = dr.Item("BLOOMBERG_SECURITY_ID").ToString
                    drBval.Item("BB_UNIQUE") = dr.Item("BB_UNIQUE").ToString
                    drBval.Item("Prices") = inst.data(0).value.ToString
                    dtBval.Rows.Add(drBval)
                End If

            Next


        Next
        dsBval.Tables.Add(dtBval)
        BVAL_Prices.DataSource = dsBval
        BVAL_Prices.DataBind()
        BVAL_Prices.Visible = True

    End Sub
    Public Function GetTable() As DataTable

        Dim dtTable As DataTable
        dtTable = New DataTable

        dtTable.Columns.Add("MR_SEC_ID", GetType(String))
        dtTable.Columns.Add("STATE_STREET_CUSIP", GetType(String))
        dtTable.Columns.Add("BOND_CUSIP", GetType(String))
        dtTable.Columns.Add("BLOOMBERG_SECURITY_ID", GetType(String))
        dtTable.Columns.Add("BB_UNIQUE", GetType(String))
        dtTable.Columns.Add("Prices", GetType(String))

        Return dtTable

    End Function
End Class


You should either bind a datatable to a Gridview or when you bind a dataset, then you should tell the Gridview which datatable it should be bound to....

DataGridView1.AutoGenerateColumns = True;
DataGridView1.DataSource = ds; // dataset
DataGridView1.DataMember = "TableName"; 


这篇关于将数据集绑定到gridview。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆