C#从gridView读取数据到字符串

时间:2010-12-05 01:16:01

标签: c# .net asp.net gridview

嘿我有一个gridView,我想提取PhotoPath(ftppath + filename(ftp://192.168.1.2/Jelly.jpg))

它在asp.net中,我不知道如何检索数据我已经设置了gridView以供选择,我喜欢“on”选择将PhotoPath存储在一个字符串中。

<asp:GridView ID="GridView1" runat="server" AllowSorting="True" 
        AutoGenerateColumns="False" DataKeyNames="StudentID" 
        DataSourceID="SqlDataSource1" Height="263px" Width="915px" 
        AllowPaging="True" CellPadding="4" ForeColor="#333333" GridLines="None" 
        onselectedindexchanged="GridView1_SelectedIndexChanged">
        <AlternatingRowStyle BackColor="White" />
        <Columns>
            <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" 
                ShowSelectButton="True" />
            <asp:BoundField DataField="No" HeaderText="MatricNo" 
                SortExpression="MatricNo" />
            <asp:BoundField DataField="FirstName" HeaderText="FirstName" 
                SortExpression="FirstName" />
            <asp:BoundField DataField="LastName" HeaderText="LastName" 
                SortExpression="LastName" />
            <asp:BoundField DataField="Current" HeaderText="CurrentModules" 
                SortExpression="CurrentModules" />
            <asp:BoundField DataField="PhotoPath" HeaderText="PhotoPath" 
                SortExpression="PhotoPath" />
        </Columns>
        <EditRowStyle BackColor="#2461BF" />
        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="#EFF3FB" BorderColor="Blue" BorderStyle="Solid" 
            Font-Size="Small" />
        <SelectedRowStyle BackColor="#D1DDF1" BorderStyle="Solid" Font-Bold="True" 
            Font-Size="Small" ForeColor="#333333" HorizontalAlign="Center" />
        <SortedAscendingCellStyle BackColor="#F5F7FB" />
        <SortedAscendingHeaderStyle BackColor="#6D95E1" />
        <SortedDescendingCellStyle BackColor="#E9EBEF" />
        <SortedDescendingHeaderStyle BackColor="#4870BE" />
    </asp:GridView>

我试过这个:

        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string PhotoPath;
        GridView1.CurrentRow.Cells[0].Value.ToString();
    }

但是当前行不是定义的一部分。

1 个答案:

答案 0 :(得分:8)

尝试

protected void GridView1_SelectedIndexChanging(object sender, EventArgs e) {
    string PhotoPath = "";
    // Get the currently selected row. Because the SelectedIndexChanging event
    // occurs before the select operation in the GridView control, the
    // SelectedRow property cannot be used. Instead, use the Rows collection
    // and the NewSelectedIndex property of the e argument passed to this 
    // event handler.
    GridViewRow row = GridView1.Rows[e.NewSelectedIndex];

    PhotoPath = row.Cells[5].Text;
}

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) {
    string PhotoPath = "";
    GridViewRow row = GridView1.SelectedRow;

    PhotoPath = row.Cells[5].Text;
}