Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
bypass
3 / 3 / 1
Регистрация: 13.12.2011
Сообщений: 89
1

gridview (не могу обратится к данным столбца со свойством Visible=false;)

29.04.2013, 10:16. Просмотров 1192. Ответов 7
Метки нет (Все метки)

Добрый день. Есть веб-сайт. На странице компонент gridview в который выводится информация из БД. Первый столбик - id (уникальный идентификатор). Я его хочу скрыть Visible = false;
Как только его скрываю, значение ячейки в колонке id = "" (отслеживал в отладке). Если его не скрывать значение в поле id корректное. Раньше делал программы на WindowsForms такого не наблюдал при работе c datagridview. ASP только изучаю, в чем особенность, скажите кто знает?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2013, 10:16
Ответы с готовыми решениями:

Как програмным путем поменять свойство Button: Visible с True на False?
Здраствуйте подскажите плиз как с програмным путем поменять свойство Button:...

Не могу разобраться со списковым свойством в PropertyGrid
Есть у меня такой себе класс, в нём есть код: private List<Account>...

Как изменить ширину столбца в GridView ?
Вопрос сформулирован в названии темы. Указываю для столбца...

на кнопку кликаешь, Image1.Visible:=False; Image2.Visible:=True; Eще раз ликаешь, Image1.Visible:=True; Image2.Visible:=False.
на кнопку кликаешь, Image1.Visible:=False; Image2.Visible:=True; Eще раз...

Visible (false , true)
HI! есть форма с контейнером(JFrame), в контейнере открывается еще одна...

7
HF
140 / 141 / 45
Регистрация: 09.09.2011
Сообщений: 498
Завершенные тесты: 18
29.04.2013, 13:03 2
А когда/откуда вы это скрытое значение пытаетесь прочесть?
0
bypass
3 / 3 / 1
Регистрация: 13.12.2011
Сообщений: 89
29.04.2013, 13:56  [ТС] 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
                    <ContentTemplate>
                        <asp:GridView ID="GridView1" runat="server" Height="80px" Width="1280px" AutoGenerateColumns="False" DataKeyNames="id_number" DataSourceID="SqlDataSource5" EnableModelValidation="True" AllowPaging="True" OnRowCommand="GridView1_RowCommand" BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical" PageSize="20">
...
<asp:ButtonField Text="Update" CommandName="UpdateDatePM" ButtonType="Button" >
...
 </asp:GridView>
                  </ContentTemplate>
                </asp:UpdatePanel>
 
 
 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
 if (e.CommandName == "UpdateDatePM")
        {
int index = Convert.ToInt32(e.CommandArgument);
GridView1.Rows[index].cells[0].text  -  вот это значение при отладке равно ""
GridView1.Rows[index].cells[1].text - показывает верно
GridView1.Rows[index].cells[2].text - показывает верно
}
}
 
 
 <asp:SqlDataSource ID="SqlDataSource5" runat="server" ConnectionString="<%$ ConnectionStrings:DefaultConnection %>" SelectCommand="SELECT [action1], [method1], [interval1], [date_last_PM], [id_number] FROM [machines] WHERE (([type_machine] = @type_machine) AND ([name_machine] = @name_machine) AND ([line_SMD] = @line_SMD) AND ([current_machine] = @current_machine))" DeleteCommand="DELETE FROM [machines] WHERE [id_number] = @id_number" InsertCommand="INSERT INTO [machines] ([action1], [method1], [interval1], [date_last_PM]) VALUES (@action1, @method1, @interval1, @date_last_PM)" UpdateCommand="UPDATE [machines] SET [action1] = @action1, [method1] = @method1, [interval1] = @interval1, [date_last_PM] = @date_last_PM WHERE [id_number] = @id_number">
                <DeleteParameters>
                    <asp:Parameter Name="id_number" Type="Int32" />
                </DeleteParameters>
                <InsertParameters>
                    <asp:Parameter Name="action1" Type="String" />
                    <asp:Parameter Name="method1" Type="String" />
                    <asp:Parameter Name="interval1" Type="Int32" />
                    <asp:Parameter Name="date_last_PM" Type="DateTime" />
                </InsertParameters>
                <SelectParameters>
                    <asp:ControlParameter ControlID="DropDownList4" Name="type_machine" PropertyName="SelectedValue" Type="String" />
                    <asp:ControlParameter ControlID="DropDownList5" Name="name_machine" PropertyName="SelectedValue" Type="String" />
                    <asp:ControlParameter ControlID="DropDownList6" Name="line_SMD" PropertyName="SelectedValue" Type="String" />
                    <asp:ControlParameter ControlID="DropDownList7" Name="current_machine" PropertyName="SelectedValue" Type="Int32" />
                </SelectParameters>
                <UpdateParameters>
                    <asp:Parameter Name="action1" Type="String" />
                    <asp:Parameter Name="method1" Type="String" />
                    <asp:Parameter Name="interval1" Type="Int32" />
                    <asp:Parameter Name="date_last_PM" Type="DateTime" />
                    <asp:Parameter Name="id_number" Type="Int32" />
                </UpdateParameters>
            </asp:SqlDataSource>
если столбец сделать Visible = true, то GridView1.Rows[index].cells[0].text - показывает верно
такое же не должно быть, я думаю
0
bypass
3 / 3 / 1
Регистрация: 13.12.2011
Сообщений: 89
29.04.2013, 13:58  [ТС] 4
фото
0
Миниатюры
gridview (не могу обратится к данным столбца со свойством Visible=false;)  
HF
140 / 141 / 45
Регистрация: 09.09.2011
Сообщений: 498
Завершенные тесты: 18
29.04.2013, 15:19 5
Так как я не использую такие методы работы с таблицей (определение параметров, события обновления строк и т.п.), то не скажу наверняка.
Могу предположить только один вариант - изменить параметр InsertVisible.
0
bypass
3 / 3 / 1
Регистрация: 13.12.2011
Сообщений: 89
29.04.2013, 16:03  [ТС] 6
вообщем почему так работает я не разобрался. обошел проблему следующим способом
CSS
1
2
3
4
5
<style type="text/css">
 
        .hidden {display:none;}
 
    </style>
C#
1
<asp:BoundField DataField="id_number" HeaderText="id_number" ReadOnly="True" SortExpression="id_number" HeaderStyle-CssClass="hidden" ItemStyle-CssClass="hidden" />
0
GhettoBoy
0 / 0 / 0
Регистрация: 25.03.2011
Сообщений: 8
25.07.2013, 17:19 7
Цитата Сообщение от bypass Посмотреть сообщение
вообщем почему так работает я не разобрался. обошел проблему следующим способом
CSS
1
2
3
4
5
<style type="text/css">
 
        .hidden {display:none;}
 
    </style>
C#
1
<asp:BoundField DataField="id_number" HeaderText="id_number" ReadOnly="True" SortExpression="id_number" HeaderStyle-CssClass="hidden" ItemStyle-CssClass="hidden" />
У меня похожая проблема,но только значение DataSource и свойства стилей я задаю в C# и у меня выскакивает ошибка, т.к. сам GridView еще не отрисован. Так вот сам вопрос: "Как обратиться в C# к GridView после отрисовки?".
0
Wolfdp
804 / 758 / 193
Регистрация: 15.06.2012
Сообщений: 2,951
Записей в блоге: 1
Завершенные тесты: 1
25.07.2013, 18:25 8

Не по теме:

Ща качну скил шамана....


GridView1.Rows[index].cells[0].value - такое значение есть?

Добавлено через 22 минуты

Не по теме:

Не очень скил....



Вот рабочий вариант

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        <asp:GridView ID="GridView1" runat="server" AllowSorting="True" 
            AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="SqlDataSource1" 
            EnableModelValidation="True">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:HiddenField ID="id" runat="server" Value='<%# Eval("id") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
                    ReadOnly="True" SortExpression="id"  Visible="False" />
                <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT [id], [name] FROM [item]"></asp:SqlDataSource>
C#
1
2
3
4
5
        protected void Page_Load(object sender, EventArgs e)
        {
            HiddenField hiddenField = GridView1.Rows[0].FindControl("id") as HiddenField;
            int i = int.Parse(hiddenField.Value);
        }
0
25.07.2013, 18:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2013, 18:25

Form.Visible:= false в OnCreate
procedure TForm.FormCreate(Sender: TObject); begin . . ....

Ошибка в строке Form19.Visible:=false
procedure TForm19.Button1Click(Sender: TObject); begin if...

Можно ли осуществить появление кнопки (свойством visible) после нажатия всех ячеек StringGrid-a?
Можно ли осуществить появление кнопки(свойством visible) после нажатия всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru