[英]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.