Как получить значение в ячейке GridView ?
От: spike Беларусь blog
Дата: 06.10.08 13:17
Оценка:
Я сделал GridView автогенерацию выделения и пользователь выделяет нужную запись в GV и мне необходимо запихать значения столбцов по text-ам.

Как ?
Re: Как получить значение в ячейке GridView ?
От: Сим Россия  
Дата: 06.10.08 13:22
Оценка:
Здравствуйте, spike, Вы писали:

S>Я сделал GridView автогенерацию выделения и пользователь выделяет нужную запись в GV и мне необходимо запихать значения столбцов по text-ам.


S>Как ?


Ну собственноесть 2 варианта, если я правильно понял что ты хотел сказать
1. При выборе пользователем строки получить бизнес-объект по Id, например, и из него уже заполнить контролы
2. Зная rowindex, пройтись по всем ячейкам строки и вытащить текст с помощью свойства text ячейки
Re[2]: Как получить значение в ячейке GridView ?
От: spike Беларусь blog
Дата: 06.10.08 13:27
Оценка:
Здравствуйте, Сим, Вы писали:

Сим>Здравствуйте, spike, Вы писали:


S>>Я сделал GridView автогенерацию выделения и пользователь выделяет нужную запись в GV и мне необходимо запихать значения столбцов по text-ам.

S>>Как ?

Сим>2. Зная rowindex, пройтись по всем ячейкам строки и вытащить текст с помощью свойства text ячейки


больше нравиться второй.
GV.Rows[GV.SelectedIndex].Cells[0].Text


так ?
Re[3]: Как получить значение в ячейке GridView ?
От: Сим Россия  
Дата: 06.10.08 13:46
Оценка:
Здравствуйте, spike, Вы писали:

S>Здравствуйте, Сим, Вы писали:


Сим>>Здравствуйте, spike, Вы писали:


S>>>Я сделал GridView автогенерацию выделения и пользователь выделяет нужную запись в GV и мне необходимо запихать значения столбцов по text-ам.

S>>>Как ?

Сим>>2. Зная rowindex, пройтись по всем ячейкам строки и вытащить текст с помощью свойства text ячейки


S>больше нравиться второй.

S>
GV.Rows[GV.SelectedIndex].Cells[0].Text


S>так ?


Да, примерно так. Второй способ быстрее и проще, но не всегда его можно использовать. К приеру, значения в ячейках в процессе связывания могут поменяться
Re[4]: Как получить значение в ячейке GridView ?
От: spike Беларусь blog
Дата: 07.10.08 06:23
Оценка:
S>>больше нравиться второй.
S>>
GV.Rows[GV.SelectedIndex].Cells[0].Text


Сим>Да, примерно так. Второй способ быстрее и проще, но не всегда его можно использовать. К приеру, значения в ячейках в процессе связывания могут поменяться


вот только проблема: Text равен пустоте. правда первые два столбца у меня Visible = false
хотя меняя индекс в на 2 (Cells[2]), значение все равно пустое
Re: Как получить значение в ячейке GridView ?
От: Neco  
Дата: 12.10.08 09:56
Оценка:
S>Я сделал GridView автогенерацию выделения и пользователь выделяет нужную запись в GV и мне необходимо запихать значения столбцов по text-ам.
S>Как ?
судя по всему конечная цель — сделать грид и рядом редактор выделенной строки?
я всю эту мутатень делал так: кидаем грид, кидаем detailsview — биндим их на один и тот же сурс. bindingsource я не нашёл, поэтому в событии грида делаем dvEdit.PageIndex = gvData.SelectedIndex. Датасурсу указываю кэшировать.
В самом DeatailsView делаем редактор.
В общем получается довольно быстро наклепать кучу страничек для банальных редакторов небольших табличек. Для больших таблиц надо уже добавлять фильтрацию.

код:
Option Explicit On
Option Strict On

Partial Class Admin_EditEnvironments
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        dsData.EnableCaching = pbl.CNST_CASH_ENABLED
        dsData.CacheDuration = pbl.CNST_CASH_DURATION
        btnAddNew.Visible = Editable
        lblEditAccessDenied.Visible = Not Editable
    End Sub

    Protected Sub btnAddNew_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddNew.Click
        dvEdit.ChangeMode(DetailsViewMode.Insert)
    End Sub

    Protected Sub gvData_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvData.SelectedIndexChanged
        dvEdit.PageIndex = gvData.SelectedIndex
    End Sub

    Public ReadOnly Property Editable() As Boolean
        Get
            Return pbl.CanEditTbl_Environment
        End Get
    End Property
End Class



страница:

<%@ Page Language="VB" MasterPageFile="~/Admin/Admin.master" AutoEventWireup="false" CodeFile="EditEnvironments.aspx.vb" Inherits="Admin_EditEnvironments" title="Untitled Page" StylesheetTheme="Standard" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:LinkButton ID="btnAddNew" runat="server">New</asp:LinkButton><asp:Label ID="lblEditAccessDenied"
        runat="server" ForeColor="Red" Text="You cannot modify this table"></asp:Label><br />
    <table style="width: 100%">
        <tr>
            <td style="vertical-align: top; text-align: left">
                <asp:GridView ID="gvData" runat="server" AutoGenerateColumns="False" DataSourceID="dsData"
                    Width="100%">
                    <Columns>
                        <asp:ButtonField CommandName="select" DataTextField="name" HeaderText="Name">
                            <ItemStyle Width="120px" />
                        </asp:ButtonField>
                        <asp:TemplateField HeaderText="Enabled">
                            <ItemTemplate>
                                <%# IIf(CInt(Eval("enabled")) <> 0, "Y", "N")%>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>
            </td>
            <td style="vertical-align: top; width: 300px; text-align: left">
                <asp:DetailsView ID="dvEdit" runat="server" AutoGenerateRows="False" DataKeyNames="id"
                    DataSourceID="dsData" Width="100%">
                    <Fields>
                        <asp:TemplateField HeaderText="SmartEdit" ShowHeader="False">
                            <EditItemTemplate>
                                <div class="wuc_editor_field">
                                    <asp:LinkButton ID="lbtnUpdate" runat="server" CommandName="Update">Update</asp:LinkButton>
                                    <asp:LinkButton ID="lbtnSmartDelete" runat="server" CommandName="Delete" OnClientClick='return confirm ("Are you sure?");'>Delete</asp:LinkButton>
                                    <asp:LinkButton ID="lbtnCancelEdit" runat="server" CommandName="Cancel">Cancel</asp:LinkButton>
                                </div>
                            </EditItemTemplate>
                            <InsertItemTemplate>
                                <div class="wuc_editor_field">
                                    <asp:LinkButton ID="lbtnInsert" runat="server" CommandName="Insert">Insert</asp:LinkButton>
                                    <asp:LinkButton ID="lbtnCancelInsert" runat="server" CommandName="Cancel">Cancel</asp:LinkButton>
                                </div>
                            </InsertItemTemplate>
                            <ItemTemplate>
                                <%If Me.Editable Then%>
                                <div class="wuc_editor_field">
                                    <asp:LinkButton ID="lbtnEdit" runat="server" CommandName="Edit">Edit</asp:LinkButton>
                                    <asp:LinkButton ID="lbtnSmartDelete" runat="server" CommandName="Delete" OnClientClick='return confirm ("Are you sure?");'>Delete</asp:LinkButton>
                                    <asp:LinkButton ID="lbtnNew" runat="server" CommandName="New">New</asp:LinkButton>
                                </div>
                                <%Else%>
                                <div class="wuc_editor_field_deny">
                                    <asp:LinkButton ID="lbtnDsbled1" runat="server" Enabled="false">Edit</asp:LinkButton>
                                    <asp:LinkButton ID="lbtnDsbled2" runat="server" Enabled="false">Delete</asp:LinkButton>
                                    <asp:LinkButton ID="lbtnDsbled3" runat="server" Enabled="false">New</asp:LinkButton>
                                </div>
                                <%End If%>
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:BoundField DataField="name" HeaderText="Name" />
                        <asp:BoundField DataField="description" HeaderText="Description" />
                        <asp:TemplateField HeaderText="Enabled">
                            <EditItemTemplate>
                                <asp:CheckBox ID="CheckBox2" runat="server" Checked='<%# Bind("enabled") %>' />
                            </EditItemTemplate>
                            <ItemTemplate>
                                <%# IIf(CInt(Eval("enabled")) <> 0, "Y", "N")%>
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="Modified" InsertVisible="False" ShowHeader="False">
                            <ItemTemplate>
                                <div class="wuc_modified_field">
                                    <%# String.Format("Modified {0:yyyy-MM-dd HH:mm:ss} by {1}", Eval("last_datetime"), Eval("last_user_name"))%>
                                </div>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Fields>
                </asp:DetailsView>
            </td>
        </tr>
    </table>
    <asp:ObjectDataSource ID="dsData" runat="server" DeleteMethod="Delete" InsertMethod="Insert"
        OldValuesParameterFormatString="original_{0}" SelectMethod="GetFullList" TypeName="adapters+adapEnvironment"
        UpdateMethod="Update">
        <DeleteParameters>
            <asp:Parameter Name="original_id" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="original_id" Type="Int32" />
            <asp:Parameter Name="name" Type="String" />
            <asp:Parameter Name="description" Type="String" />
            <asp:Parameter Name="enabled" Type="Boolean" />
        </UpdateParameters>
        <InsertParameters>
            <asp:Parameter Name="name" Type="String" />
            <asp:Parameter Name="description" Type="String" />
            <asp:Parameter Name="enabled" Type="Boolean" />
        </InsertParameters>
    </asp:ObjectDataSource>
</asp:Content>
всю ночь не ем, весь день не сплю — устаю
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.