访问网格视图行数据C#

时间:2017-07-19 00:17:24

标签: c# asp.net gridview linkbutton

我正在尝试将文本框的值设置为gridview中列的值。我从LinkBut​​ton获取行。

下面的第一个TextBox1.Text行正常工作,可以将文本框的值设置为行号。

下面的第二个TextBox1.Text行对我的文本框没有任何作用。我期待行(索引)和列(1)的值,但我什么都没得到。 gridview中肯定有数据。 gridview的列数超过10列,我已经检查了0-5的值,并且在文本框中没有得到任何内容。

我没有运行它,同时两行都没有注释掉。

我正在做所有这些来解决由它引起的问题。

protected void lnkbtnPassRowData_Click(object sender, EventArgs e)
{
    LinkButton btn = (LinkButton)sender;
    GridViewRow gvr = (GridViewRow)btn.NamingContainer;
    if (gvr != null)
    {
        int index = Convert.ToInt32(gvr.RowIndex.ToString());

        TextBox1.Text = GridStaffMyJobs.Rows[index].RowIndex.ToString();

        TextBox1.Text = GridStaffMyJobs.Rows[index].Cells[1].Text;
    }
}

以下是gridview中包含链接按钮的代码。

<form id="StaffMyJobs" runat="server">
    <div>
        <h3>My Jobs</h3>
    </div>
    <div>
        <asp:Label ID="lblHired" runat="server" Text="Rows in green indicate jobs that have been filled." Visible="False" BorderColor="#FF0909" Font-Bold="True" Font-Underline="True" ForeColor="YellowGreen"></asp:Label>
        <br />
        <asp:Label ID="lblOffers" runat="server" Text="Rows in red indicate jobs that have pending offers." Visible="False" BorderColor="#FF0909" Font-Bold="True" Font-Underline="True" ForeColor="Red"></asp:Label>
        <br />
        <asp:Button ID="btnAddJob" runat="server" Text="Add a Job" OnClick="btnAddJob_Click" Visible="true" />
        <br />
        <br />
    </div>
    <div>
        <asp:GridView ID="GridMoreJobs" runat="server" AutoGenerateColumns="False" DataSourceID="SQLMoreJobs"  >
            <Columns>
                <asp:BoundField DataField="more_jobs" HeaderText="more_jobs" SortExpression="more_jobs" Visible="false" />
            </Columns>
        </asp:GridView>
    </div>
    <div>
        <asp:GridView ID="GridStaffMyJobs" runat="server" AutoGenerateColumns ="False" DataSourceID="SQLStaffMyJobs" ShowFooter="True" OnRowDataBound="GridMoreJobs_RowDataBound" HorizontalAlign="Center"  >
            <Columns>


    <asp:TemplateField HeaderText="Actions">
        <ItemTemplate>
            <asp:LinkButton ID="lnkbtnPassRowData"  Text='Reopen' 
            runat="server" 
            OnClick="lnkbtnPassRowData_Click"  Visible='<%# 
            CanReopen((object)Eval("student_hired")) %>' />
        </ItemTemplate>
    </asp:TemplateField>

</form>

这是执行页面并让行运行的截图,该行将行的索引放在文本框中。 enter image description here

0 个答案:

没有答案