Как проверить, выбрана ли какая-либо строка из GridView? - PullRequest
5 голосов
/ 29 июня 2011

У меня есть сетка на странице aspx:

<asp:GridView ID="gdvMainList" runat="server" CssClass="Grid1" SkinID="PagedGridView"
                                    AutoGenerateColumns="false" OnRowDataBound="gdvMainList_RowDataBound"
                                    DataSourceId="dtsConsumers" Visible="false" DataKeyNames="Id">
                                    <Columns>
                                        <asp:CommandField SelectText="Select" ShowSelectButton="true" ItemStyle-CssClass="HideButton"
                                            HeaderStyle-CssClass="HideButton">
                                            <HeaderStyle CssClass="HideButton" />
                                            <ItemStyle CssClass="HideButton" />
                                        </asp:CommandField>
                                        <asp:TemplateField HeaderText="Name">
                                            <ItemTemplate>
                                                <span>
                                                    <%# Pc.PrecisionCare2.PL.Common.Utility.GetFullName("", Eval("LastName"), Eval("FirstName"), Eval("MiddleInit")) %></span>
                                            </ItemTemplate>
                                            <ItemStyle Width="200px" />
                                        </asp:TemplateField>
                                        <asp:BoundField DataField="Status" HeaderText="Status" SortExpression="Status"></asp:BoundField>
                                    </Columns>
                                    <SelectedRowStyle CssClass="SelectedItem" BackColor="#c9e0ee" />
                                    <EmptyDataTemplate>
                                        <div class="divEmptyGrid">
                                            --- No Consumer Exists ---
                                        </div>
                                    </EmptyDataTemplate>
                                </asp:GridView>

Метод rowDataBound:

protected void gdvMainList_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.gdvMainList, "Select$" + e.Row.RowIndex);
            }
        }

У меня есть кнопка OK, когда она нажимается, я собираю данныесо страницыЯ хочу проверить нажатие кнопки «ОК», есть ли какая-либо строка, выбранная в Gridview, или нет.

Как этого добиться?Любая помощь будет оценена.

Ответы [ 4 ]

12 голосов
/ 29 июня 2011

Вы можете проверить как ...

if (GridView1.SelectedValue != null)
{
     //Row is Selected
}
2 голосов
/ 17 июня 2015

Вы можете попробовать что-то вроде этого:

If GridView1.SelectedRows.Count > 0 Then
' yourcode here - a row is selected 
Else
' yourcode here - NO row is selected 
End If
1 голос
/ 02 января 2017

Лучше:

if(GridView1.SelectedIndex < 0)
    { its -1 and no row is selected.}
else
    {its >= 0 and a row is selected}

, тестирование на != null вызовет исключение, если выбрано значение null.

0 голосов
/ 28 июня 2018

Вы также можете проверить, как это

if(GridView.SelectedIndex >= 0)
   {
      string result = "Selected";
   }
    else
   {
     string result = "Not Selected";
   }
...