1

edittemplate フィールドにドロップダウンリストを持つ gridview を使用しています。ドロップダウンには、赤、黄、緑の 3 つのリスト項目があります。リストアイテムにテキストを表示する代わりに、ドロップダウンリストの onLoad イベントを使用しているため、色を表示したいのですが、このイベントはドロップダウンリストを認識できません。ドロップダウン リスト デザイナー コード:

<asp:TemplateField HeaderText="Color">
<EditItemTemplate> 
  <asp:DropDownList ID="ddlcolor" runat="server" AppendDataBoundItems="true" DataTextField="COLOR" DataValueField ="COLOR" OnLoad="DDLColor_Load">
            <asp:ListItem Value="-1">- Select Color -</asp:ListItem>
            <asp:ListItem Value="0">Amber</asp:ListItem>
            <asp:ListItem Value="1">Green</asp:ListItem>
            <asp:ListItem Value="2">Red</asp:ListItem>                
  </asp:DropDownList></EditItemTemplate></asp:TemplateField>

codebehing のドロップダウンリスト onLoad イベント:

  protected void DDLColor_Load(object sender, EventArgs e)
{

    for (int i = 0; i < ddlcolor.Items.Count; i++)
    {
        ddlcolr.Items[i].Attributes.Add("style", "background-color:" + ddlcolor.Items[i].Text);

    }
} 

ただし、ドロップダウンリスト ddlcolor が現在のコンテキストに存在しないことを示しています。このコントロールを gridview で見つける必要がありますか? 提案してください。

4

1 に答える 1

2

あなたが正しいです。コントロールを見つける必要があります。送信者引数を使用すると、検索制御メソッドを使用せずにドロップダウンを見つけるのに役立ちます

 protected void DDLColor_Load(object sender, EventArgs e)
 {
    DropdownList ddlcolr=(Dropdownlist)sender;
for (int i = 0; i < ddlcolor.Items.Count; i++)
  {
    ddlcolr.Items[i].Attributes.Add("style", "background-color:" + ddlcolor.Items[i].Text);

  }
 } 
于 2013-01-29T07:52:29.247 に答える