Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Как получить значение невидимого поля GridView


Автор: davandr 16.10.2006, 22:44
Всем привет. 
Значит, есть у меня 2 невидимых поля ID и PrpertyID. Мне нужно получать их значения, но они доступны почему-то только когда видимы. Возможно, здесь нужно использовать DataKeys? но что-то я не пойму как с ними рабботать?

Код

   int propertyID = Convert.ToInt32(gvMainDictionary.Rows[0].Cells[1].Text);

Автор: ivashkanet 17.10.2006, 09:11
Цитата(davandr @  16.10.2006,  22:44 Найти цитируемый пост)
но они доступны почему-то только когда видимы.

Странно как-то  smile 
А можно код в студию?

Добавлено @ 09:16 
Цитата(davandr @  16.10.2006,  22:44 Найти цитируемый пост)
Rows[0].Cells[1]

Попробуй обратиться к ним по имени, возможно нумерация идет по видимым полям.
И еще пройдись foreach-ем по всем полям из Row[1] и распечатай их может невидемые поля получают номер после всех видимых?
Либо в отладке узнай номер своих полей.
 Но все же лучше по имени smile 

Автор: davandr 17.10.2006, 11:23
Все это я пробовал - все не получается.
По имени - ругается, поля идут в том же порядке, но значения для невидимых пустые.

А правильно вот как надо:



Код

    gvMainDictionary.DataKeyNames = new string[] { "ID", "PropertyID" };
    .....
    propertyID = Convert.ToInt32(gvMainDictionary.DataKeys[rowIndex].Values["PropertyID"]);

Автор: SeekerMan 19.10.2006, 12:19
Сделай проще. Сделай темплейт для ключевого поля, чтото типа
Код

<asp:TemplateField>
                            <ItemTemplate>
                                <asp:Label ID="ID" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "rID") %>'></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>



Потом просто пробегаясь foreach по строкам ищещь
Код

foreach (GridViewRow row in GridView.Rows)
        {
            Label lblID = (Label) row.FindControl("ID");
}



Простой и надёжный способ. smile)

Автор: simich 17.8.2010, 17:40
Всем привет! Скажите пожалуйста! а как узнать rowIndex, то есть  у меня есть GridView с отображением информации. Имена столбцов - ID(невидимый), Name, Sername, и др. 
В TemplateField я поместил ButtonEdit (то есть в каждой строке у меня есть эта кнопка), при нажатии на которую открывается окошко с редактированием информации. Вопрос в следующем - как мне узнать значение поля ID, которое выбрал пользователь?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)