Infragistics - Ultrawebgrid - 添加下拉列表,从另一个表中获取值

时间:2012-08-30 14:49:16

标签: asp.net infragistics

我有一个Ultrawebgrid,我在其中显示两列。在单击第二列(其中的任何行)时,我希望下拉列表显示另一个表中的值。

我们使用的版本是Infragistics2.WebUI.Misc.v7.3,Version = 7.3.20073.38。

我正在努力,尝试了一切,但它不起作用:

代码是:

    Me.ultrawebgrid1.Columns(1).Type = ColumnType.DropDownList
    Me.ultrawebgrid1.Columns(1).ValueList.ValueListItems.Clear()
    Me.ultrawebgrid1.Columns(1).ValueList.DataSource = dsGetEmployees
    Me.ultrawebgrid1.Columns(1).ValueList.DataMember = "EmployeeId"
    Me.ultrawebgrid1.Columns(1).ValueList.DisplayMember = "EmployeeName"
    Me.ultrawebgrid1.Columns(1).ValueList.DataBind()

                 <igtbl:UltraWebGrid ID="ultrawebgrid1" runat="server"
                        DataSourceID="dsGetEmployeeHistory" Height="473px" Width="100%">
                        <Bands>
                            <igtbl:UltraGridBand>
                                <Columns>
                                    <igtbl:UltraGridColumn BaseColumnName="EmployeeId" IsBound="True"
                                        Key="EmployeeId" Width="125px">
                                        <Header Caption="Employee ID">
                                        </Header>
                                    </igtbl:UltraGridColumn>

                                      <igtbl:UltraGridColumn BaseColumnName="EmployeeName"  IsBound="True" Key="EmployeeName" Type="DropDownList" width="250px" >
                                          <Header Caption="Employee Name">
                                                <RowLayoutColumnInfo OriginX="1" />
                                           </Header>
                                           <Footer>
                                                <RowLayoutColumnInfo OriginX="1" />
                                            </Footer>
                                        </igtbl:UltraGridColumn>
                                </Columns>
                                <AddNewRow View="Top" Visible="Yes">
                                </AddNewRow>
                            </igtbl:UltraGridBand>

此致

2 个答案:

答案 0 :(得分:1)

我相信你可以在这里关注同样的事情来跟踪Infragistics论坛主题:

http://www.infragistics.com/community/forums/p/73188/370274.aspx#370274

答案 1 :(得分:0)

我遇到了同样的问题......

用户不知道单元格数据是否可编辑,并且在您按下某个键(导致更改该值)之前不会显示下拉列表

经过多次搜索,以及关于使用模板化列的许多主题......我发现了这个小技巧:

下拉列表的原始列代码:

Me.gs.Columns.Add("ORIGIN", "Origin")
Me.gs.Columns(Me.gs.Columns.Count - 1).BaseColumnName = "Origin.Id"
Me.gs.Columns(Me.gs.Columns.Count - 1).Type = ColumnType.DropDownList
Me.gs.Columns(Me.gs.Columns.Count - 1).ValueList.Style.TextOverflow = TextOverflow.Ellipsis
Me.gs.Columns(Me.gs.Columns.Count - 1).ValueList.Style.Font.Name = "Verdana"
Me.gs.Columns(Me.gs.Columns.Count - 1).ValueList.Style.Font.Size = FontUnit.XXSmall
Me.gs.Columns(Me.gs.Columns.Count - 1).ValueList.DisplayMember = "FriendlyAddress"
Me.gs.Columns(Me.gs.Columns.Count - 1).ValueList.ValueMember = "Id"
Me.gs.Columns(Me.gs.Columns.Count - 1).ValueList.DataBind(ShippingRetrieval.GetAllPlants(MP.CacheGet("SESSION")), Nothing, "FriendlyAddress", "Id")

现在......诀窍......

在添加第一列之前,当我添加一个乐队时:

'add columns to grid
Me.gs.Bands(0).Key = "SHIPMENT"
Me.gs.Bands(0).CellClickAction = CellClickAction.Edit '<<<< added this

而不是当我进入单元格,或点击它时,用户可以看到下拉列表,他们仍然需要打开下拉菜单,但至少他们知道它在那里