簡體   English   中英

如何將GridView中每一行的每個單元格值放入變量中

[英]How to put each cell value for each row from GridView in variables

我在stackoverflow解決方案中嘗試了一些方法。 但是我沒有很好地執行這些。 在大多數情況下,變量和異常為“空/空”,例如“對象引用未設置為對象的實例”。

我的GridView:

<asp:GridView runat="server" ID="TestReportGridView" AutoGenerateColumns="false" Width="370px">
    <Columns>
        <asp:TemplateField HeaderText="ID" Visible="false">
            <ItemTemplate>
               <%#Eval("TestId") %>
            </ItemTemplate>
        </asp:TemplateField>

        <asp:TemplateField HeaderText="Sr">
            <ItemTemplate>
                <%#Container.DataItemIndex+1 %>
            </ItemTemplate>
        </asp:TemplateField>

        <asp:TemplateField HeaderText="Test">
            <ItemTemplate>
                <%#Eval("TestName") %>
            </ItemTemplate>
        </asp:TemplateField>

        <asp:TemplateField HeaderText="Fee">
            <ItemTemplate>
                <%#Eval("Fee") %>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    <HeaderStyle HorizontalAlign="Left" />
</asp:GridView>

我想在單擊“保存”按鈕時將單元格文本放入每行4個不同的變量中:

protected void SaveButton_Click(object sender, EventArgs e)
{
    string patient = PatientNameTextBox.Text;
    string birthDate = BirthDateTextBox.Text;
    string mobile = MobileNoTextBox.Text;

    int rows = TestReportGridView.Rows.Count;

    foreach (GridViewRow row in TestReportGridView.Rows)
    {
        Label test = (Label)row.FindControl("Test");
        string testName = test.Text;

        //Label lblQuantity = (Label)row.FindControl("Quantity");
        //string Quantity = lblQuantity.Text;
    }
}

用戶界面的圖像


我在ItemTemplate中添加了標簽。 正確的方式添加標簽

<asp:TemplateField HeaderText="Test">
                    <ItemTemplate>
                        <asp:Label ID="Test" runat="server" ><%#Eval("TestName") %></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>

您需要在ItemTemplate添加Label控件。 下面的例子:

<ItemTemplate>
    <asp:Label ID="Test" runat="server" Text='<%# Eval("TestName") %>' />
</ItemTemplate>

直接在ItemTemplate添加<%#Eval("TestId") %>不會自動添加任何控件以從后面的代碼中搜索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM