Как проверить сетку при нажатии на кнопку Сохранить? - PullRequest
1 голос
/ 27 августа 2011

У меня есть вид сетки в форме, которая содержит кнопку Сохранить изображение. Я хотел бы создать CustomValidator на стороне клиента, который проверяет, пуста ли сетка или нет. Если он пуст, я хотел бы выдать сообщение об ошибке пользователю.

Это мой код. В событии «Save_btn_Click» я проверяю, является ли страница действительной:

 <asp:GridView ID="MyGridView" runat="server" 
                      AutoGenerateColumns="False" 
                      OnRowCancelingEdit="gridView_RowCancelingEdit"
                      OnRowCommand="gridView_RowCommand" 
                      OnRowDataBound="gridView_RowDataBound" 
                      OnRowEditing="gridView_RowEditing"
                      OnRowUpdating="gridView_RowUpdating" 
 >....</GridView>

<asp:CustomValidator id="cvFabricCollection" runat="server"                                                 
ErrorMessage="Please enter at least one row"
ControlToValidate="gridView"
ValidationGroup="MyGroup"
ClientValidationFunction ="ValidateGrid">
</asp:CustomValidator>

<asp:ImageButton ID="Save_btn" 
ImageUrl="images/save.gif"
runat="server"
CausesValidation="True" 
ValidationGroup="MyGroup"
OnClick="Save_btn_Click"/>

Javascript:

function ValidateGrid(sender, args)
{
    var rowscount = document.getElementByID(<%=MyGridView.ClientID%>).rows.length;
    alert(rowscount);
    if(rowscount <= 1)
    {
        args.IsValid = false;
        return;
    }
    args.IsValid = true;
}                 

Есть идеи, что я делаю не так?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 20 июля 2012
function PassengerGrid(source, args) {
    var Grid1 = document.getElementById("<%=GridviewPassenger.ClientID%>");
    if (Grid1 == null) {
        args.IsValid = false;
    }
    else if (Grid1.rows.length <= 0)
    {
        args.IsValid = false;
    }
    else {
        args.IsValid = true;
    }
}
0 голосов
/ 27 августа 2011

Используйте приведенную ниже строку кода, чтобы получить количество строк вашего вида сетки:

var rowscount = document.getElementByID(<%=Gridview1.ClientID%>).rows.length;
if(rowcount >0)
{
   alert("your message");
}

ссылок: Количество строк ASP.NET GridView с использованием Javascript

Как посчитать строки в сетке в asp.net, используя jQuery

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...