C # DataBinding List <string>для DataGridColumn - PullRequest
2 голосов
/ 25 марта 2011

Я определил пример класса ниже:

class Shops : INotifyPropertyChanged
{
    private int _productId;
        private string _productName;
        private List<string> _test;
    private bool _active;

    public int ProductId
        {
            get { return _productId; }
            set { _productId = value; }
        }

    public string ProductName
        {
            get { return _productName; }
            set { _productName = value; }
        }

        public List<string> Test
        {
            get { return _test; }
            set { _test = value; }
        }

        public bool Active
        {
            get { return _active; }
            set { _active = value; }
        }
}

Когда я связываю это с DataGridView, все, кроме Test, привязано правильно.Флажок для Active также автоматически создается в сетке данных.

Есть ли способ сообщить привязке данных, что список должен быть связан как ComboBox?

Спасибо за время.

Ответы [ 2 ]

1 голос
/ 26 марта 2011

Попробуйте, используйте поле шаблона для добавления поля со списком, а затем добавьте данные в событие OnRowDataBound.

<asp:GridView ID="GridView1" runat="server"
            OnRowDataBound="bindCombobox">

            <Columns>

            //other columns

            <asp:TemplateField HeaderText="status" >
            <ItemTemplate>
                <asp:DropDownList ID="comboBox1" runat="server"></asp:DropDownList>
            </ItemTemplate>
            </asp:TemplateField>


            </Columns>

</asp:GridView>

в коде:

public void bindComboBox(object sender, GridViewRowEventArgs e)
        {

            if (e.Row.RowType != DataControlRowType.DataRow)
            {
                return;
            }

            DropDownList ddlist = (DropDownList)e.Row.FindControl("comboBox1");
            ddlist.AppendDataBoundItems = true;
            ddlist.DataSource = Test;  //insert your list here
            ddlist.DataBind();

        }
1 голос
/ 25 марта 2011

Я предполагаю, что вы пытаетесь привязать список к ячейке столбца, помеченной как ComboBox.

Вам нужно будет указать столбец в сетке данных «Столбцы» и установить привязку данных для столбца. Если вы уже сделали это, пожалуйста, опубликуйте более подробное описание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...