问题描述
大家好... 你能帮我解决我的问题吗? 我有 dx:ASPxGridView 包含 4 列“productId”、“ProductName”、“Brand”和“Unit”。我可以获得 3 第一列的值,但我想根据“productId”值获取“Unit”列的项目文本。 productId 列是组合框,其中包含 3 列“ProductId、ProductNam、Brand”
背后的代码
function OnClick(s,e) {
var item = listBox.GetSelectedItem();
memo.SetText(item.GetColumnText(2));
memo4.SetText(item.GetColumnText(0));
proId.SetText(item.GetColumnText(0));
memo2.SetText(item.GetColumnText(1));
setTimeout(function () { grid.FocusEditor(3); },1);
}
<dx:ASPxGridView ID="grid" runat="server" AutoGenerateColumns="False" ClientInstanceName="grid" OnCellEditorInitialize="grid_CellEditorInitialize" RightToLeft="True" Width="1293px" Theme="Metropolis" >
<SettingsEditing Mode="Inline">
</SettingsEditing>
<Settings ShowFilterRow="True" />
<SettingsBehavior AllowSelectSingleRowOnly="true" AllowSelectByRowClick="true" />
<SettingsCommandButton>
<ShowAdaptiveDetailButton ButtonType="Image"></ShowAdaptiveDetailButton>
<HideAdaptiveDetailButton ButtonType="Image"></HideAdaptiveDetailButton>
</SettingsCommandButton>
<Columns>
<dx:GridViewDataComboBoxColumn Caption="ProductId" fieldName="ProId" Name="listBox"
Visible="true" VisibleIndex="1">
<PropertiesComboBox TextField="ProdName"
ValueField="ProductId"
DataSourceID="ProdNumDataSource"
ClientInstanceName="listBox">
<Columns>
<dx:ListBoxColumn Caption="Product Id" FieldName="ProductId" Name="ColProductid" />
<dx:ListBoxColumn Caption="Productc Name" FieldName="ProdName" Name="ColProductName" />
<dx:ListBoxColumn Caption="Brand" FieldName="BrandName" />
</Columns>
</PropertiesComboBox>
<SettingsHeaderFilter>
<DaterangePickerSettings EditFormatString="" />
</SettingsHeaderFilter>
</dx:GridViewDataComboBoxColumn>
<dx:GridViewDataTextColumn Caption="ProductName" Visible="true" VisibleIndex="2" >
<SettingsHeaderFilter>
<DaterangePickerSettings EditFormatString=""></DaterangePickerSettings>
</SettingsHeaderFilter>
<PropertiesTextEdit ClientInstanceName="memo2"></PropertiesTextEdit>
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn Caption="Brand" FieldName="brand" VisibleIndex="3">
<PropertiesTextEdit ClientInstanceName="memo">
</PropertiesTextEdit>
<SettingsHeaderFilter>
<DaterangePickerSettings EditFormatString="" />
</SettingsHeaderFilter>
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn Caption="Quantity" FieldName="quantity" VisibleIndex="4">
<SettingsHeaderFilter>
<DaterangePickerSettings EditFormatString="" />
</SettingsHeaderFilter>
</dx:GridViewDataTextColumn>
<dx:GridViewDataComboBoxColumn Caption="Unit" fieldName="Unit" name="memo4"
Visible="true" VisibleIndex="5">
<PropertiesComboBox TextField="UnitName"
ValueField="UnitId"
DataSourceID="UnitsDataSource"
ClientInstanceName="memo4">
<Columns>
<dx:ListBoxColumn Caption="UnitId Id" FieldName="UnitId" Name="ColProductid" />
<dx:ListBoxColumn Caption="UnitName" FieldName="UnitName" Name="ColProductUnit" />
</Columns>
</PropertiesComboBox>
<SettingsHeaderFilter>
<DaterangePickerSettings EditFormatString="" />
</SettingsHeaderFilter>
</dx:GridViewDataComboBoxColumn>
</Columns>
</dx:ASPxGridView>
<asp:sqlDataSource ID="ProdNumDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:phoenixConnectionString %>" SelectCommand="SELECT Products.ProductId,Products.ProdName,Brands.BrandName FROM Products INNER JOIN Brands ON Products.Brand = Brands.BrandId where ProductId >0">
</asp:sqlDataSource>
<asp:sqlDataSource ID="invoice" runat="server" ConnectionString="<%$ ConnectionStrings:phoenixConnectionString %>" SelectCommand="SELECT Bills.AutodocNum,BillDetails.ProId,BillDetails.quantity,BillDetails.ModuleQuantity,BillDetails.PriceCost,BillDetails.SecondUnit,BillDetails.Unit,BillDetails.module,BillDetails.brand FROM BillDetails INNER JOIN Bills ON Bills.DocNum = BillDetails.DocNum ">
</asp:sqlDataSource>
<asp:sqlDataSource ID="UnitsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:phoenixConnectionString %>" SelectCommand="SELECT Units.UnitName,ProductsDetail.UnitId,ProductsDetail.productId,ProductsDetail.ItemNo FROM Units INNER JOIN ProductsDetail ON Units.UnitId = ProductsDetail.UnitId">
</asp:sqlDataSource>
Protected Sub grid_CellEditorInitialize(ByVal sender As Object,ByVal e As ASPxGridViewEditorEventArgs)
con.open()
If e.Column.FieldName = "ProId" Then
Dim editor As ASPxComboBox = TryCast(e.Editor,ASPxComboBox)
editor.ClientSideEvents.SelectedindexChanged = "function(s,e) {OnClick(s);}"
Dim products = grid.GetSelectedFieldValues("ProId")
End If
con.Close()
End Sub
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)