簡體   English   中英

ASPxGridView在vb.net中獲取代碼背后的未綁定列值

[英]ASPxGridView getting unbound column values on code behind in vb.net

我有devExpress ASPxGridView。 我有一些綁定列(與數據源關聯)和一些未綁定列。 我有2個未綁定的列,並且有一個下拉列表和一個文本字段。 所以我有5個綁定列和2個未綁定列。 我想要所有這些7列值在文件后面的代碼上。 我可以獲得有界的5列,但我無法獲得無界的列值。

這是網格代碼:

<dxwgv:ASPxGridView ID="gvList" runat="server" AutoGenerateColumns="False" KeyFieldName="IAD"
Width="100%">
<Columns>
<%-- <dxwgv:GridViewDataColumn Caption="Sr. No." VisibleIndex="0" Width="30px">
    <dataitemtemplate>
        <%#Container.VisibleIndex + 1%>
    </dataitemtemplate>
    <Settings AllowDragDrop="False" />
    <CellStyle VerticalAlign="Top">
    </CellStyle>
</dxwgv:GridViewDataColumn>--%>

<dxwgv:GridViewDataColumn Caption="Sr. No." FieldName="Row" VisibleIndex="1"  >
    <CellStyle VerticalAlign="Top" >
    </CellStyle>
</dxwgv:GridViewDataColumn>                  


<dxwgv:GridViewDataTextColumn Caption="Product" FieldName="Product" VisibleIndex="1" >
    <CellStyle VerticalAlign="Top" >
    </CellStyle>
    <Settings FilterMode="DisplayText"  AutoFilterCondition="Contains" SortMode="Value"  />                                        
</dxwgv:GridViewDataTextColumn>

<dxwgv:GridViewDataTextColumn Caption="UIC" FieldName="UIC" VisibleIndex="1" >
    <CellStyle VerticalAlign="Top" >
    </CellStyle>
    <Settings FilterMode="DisplayText"  AutoFilterCondition="Contains" SortMode="Value"  />                                        
</dxwgv:GridViewDataTextColumn>


<dxwgv:GridViewDataTextColumn Caption="USN" FieldName="USN" VisibleIndex="1" >
    <CellStyle VerticalAlign="Top" >
    </CellStyle>
    <Settings FilterMode="DisplayText"  AutoFilterCondition="Contains" SortMode="Value"  />                                        
</dxwgv:GridViewDataTextColumn>



<dxwgv:GridViewDataTextColumn Caption="Allocated To" FieldName="AllocatedTo" VisibleIndex="1" >
    <CellStyle VerticalAlign="Top" >
    </CellStyle>
    <Settings FilterMode="DisplayText"  AutoFilterCondition="Contains" SortMode="Value"  />                                        
</dxwgv:GridViewDataTextColumn>   

<dxwgv:GridViewDataColumn Caption="Condition">
    <dataitemtemplate>
        <dxe:ASPxComboBox ID="ddCondition" runat="server" EnableClientSideAPI="True"
       SelectedIndex="0" ValueType="System.String">
        <Items>
            <dxe:ListEditItem Text="--Select--" Value="0" />
            <dxe:ListEditItem Text="Working" Value="working" />
            <dxe:ListEditItem Text="Not Working" Value="not-working" />
        </Items>
        <ClientSideEvents SelectedIndexChanged="function(s, e){validateCondition(s)}" />
    </dxe:ASPxComboBox>


    </dataitemtemplate>

    <Settings AllowDragDrop="False" />
    <CellStyle VerticalAlign="Middle">
    </CellStyle>
</dxwgv:GridViewDataColumn>

<dxwgv:GridViewDataColumn Caption="Remarks">
    <dataitemtemplate>
        <dxe:ASPxTextBox ID="remarks" runat="server" EnableClientSideAPI="True" />
    </dataitemtemplate>

    <Settings AllowDragDrop="False" />
    <CellStyle VerticalAlign="Middle">
    </CellStyle>
</dxwgv:GridViewDataColumn>


<dxwgv:GridViewCommandColumn Caption="Send" ShowSelectCheckbox="True">
</dxwgv:GridViewCommandColumn>

</Columns>

我這里有兩列未綁定的列,其中一列的下拉ID為:“ ddCondition”,文本字段為:“ remarks”

我可以獲取所有綁定列的值,但我也希望循環中包含下拉列表和文本字段的值,這是代碼背后的代碼:

For i As Integer = 0 To 9
        ProductStr = gvList.GetRowValues(i, "Product")
        Dim dd As DropDownList = CType(gvList.FindRowTemplateControl(i, "ddCondition"), DropDownList)
        Dim str As String = dd.SelectedValue.ToString
    Next i

我在獲取NullReferenceException

Dim str As String = dd.SelectedValue.ToString

誰能指導我如何獲取下拉列表和文本字段的值。

這是我的頁面的屏幕截圖:

在此處輸入圖片說明

謝謝..

For i As Integer = 0 To 9
    ProductStr = gvList.GetRowValues(i, "Product")
    DropDownList ddCondition = (DropDownList)gvList.Rows[i].FindControl("ddCondition");
    string Condition = ddCondition.SelectedValue.ToString();
Next i

抱歉,我添加的兩行是C#-這些天我的VB太生銹了。

我已經通過以下代碼解決了該問題:

Private Sub GetSelectedValues()
        Dim ProductStr As String
        For i As Integer = 0 To 9
            ProductStr = gvList.GetRowValues(i, "Product")
            Dim dd As ASPxComboBox = CType(gvList.FindRowCellTemplateControl(i, Nothing, "ddCondition"), ASPxComboBox)
            Dim str As String = dd.SelectedItem.Value.ToString
            If str <> "0" Then
                Literal1.Text = str
            End If
        Next i
        BindGridView()
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM