1

obout グリッドのテンプレート列内にドロップダウン リストがあります。現在、ページの読み込み時にドロップダウンリストに sqldatasource を入力しています。ただし、特定の列の値に応じてドロップダウンリストをロードする必要があります。例: ステータス = 1 の場合、ステータス 1 に関連する使用可能なオプションのリストをドロップダウン リストに入力します。

<obout:Column ID="colStatus" DataField="wf_status_id" Align="center"  HeaderText="Status" HeaderAlign="center" Width="130px" Wrap="true" runat="server" AllowGroupBy="true" AllowFilter="true">
    <TemplateSettings EditTemplateId="tmpStatusIDEdit" TemplateId="tmpStatusID" />
</obout:Column>

<obout:GridTemplate runat="server" ID="tmpStatusID" >
    <Template>
        <%# Container.DataItem["Status"]%>
    </Template>
</obout:GridTemplate>
<obout:GridTemplate runat="server" ID="tmpStatusIDEdit" ControlID="ddlStatus" ControlPropertyName="value">
    <Template>
        <obout:OboutDropDownList runat="server" ID="ddlStatus" Width="100%" Height="200" MenuWidth="215" DataSourceID="sdsStatus" DataTextField="wf_status_text" DataValueField="wf_status_id" />
    </Template>
</obout:GridTemplate>

public void OnGridRowDataBound(object sender, Obout.Grid.GridRowEventArgs e)
{
     if (e.Row.RowType == Obout.Grid.GridRowType.DataRow)
     {
          DropDownList ddlStatus = new DropDownList();
          ddlStatus = (DropDownList)e.Row.FindControl("ddlStatus");
          //LOAD DROP DOWN HERE//
     }
}

このコードを実行しようとすると、毎回 ddlStatus が null であることが示されます。これを取得するためにさまざまな方法を試しましたが、何らかの理由で取得できないようです。おそらく、別の目や他のアイデアが私を助けることができます. 私が間違っていることを教えてください。よろしくお願いします

更新: データバウンド イベント コード

<obout:OboutDropDownList runat="server" ID="ddlStatus" Width="100%" Height="200" MenuWidth="215" OnDataBinding="ddlStatus_DataBinding" DataSourceID="sdsStatus" DataTextField="wf_status_text" DataValueField="wf_status_id" />

protected void ddlStatus_DataBinding(object sender, EventArgs e)
{
   Obout.Interface.OboutDropDownList ddl = (Obout.Interface.OboutDropDownList)(sender);
   string statusID = Eval("wf_status_id").ToString();
}

データバインディング イベントをトリガーする別の方法が見つからないため、DataSource を追加しました。

4

2 に答える 2

0

obout のナレッジ ベースとサンプルで多くのサンプルを見つけることができます。これらはあなたを助けるはずです:http://www.obout.com/combobox/aspnet_integration_grid.aspxhttp://www.obout.com/grid/aspnet_ajax_cascading_comboboxes.aspx

(comboBox を参照していますが、ddl を使用して簡単に適応させることができます)

于 2014-09-07T09:57:00.320 に答える