2015-05-26 3 views
1

Я хочу спросить, как я могу сравнить свое «Количество для повторного использования» и «Доступное количество» при вводе значения в текстовое поле?Как сравнить столбец с текстовым полем в gridview

Пример: в моем gridview, я набираю «2» в текстовом поле, но доступное количество только «1». Так что я хочу показать ошибку, показывает, что количества недостаточно. Моя проверка только будет сделано на последней строке GridView

(Прошу прощения за грязный навык кодирования и я не мог отправить изображение из-за низкой репутации, будет скриншот в комментарии)

Моя кнопка мыши

Dim row As GridViewRow 
    Dim strAvailable As String 
    Dim strRedeem As String 

    For Each row In GridView1.Rows 
     ' write ur DB process code here 
     strAvailable = CType(row.Cells(4).FindControl("lblAvailable"),Label).Text 
     strRedeem = CType(row.Cells(5).FindControl("txtRedeem"), TextBox).Text 

     If strRedeem > strAvailable Then 
      lblMessage.Text = "Quantity not enough" 
      btnPrint.Visible = False 

     Else 
      lblMessage.Text = "Enough Quantity" 
      btnPrint.Visible = True 
     End If 
    Next 
end sub 
+0

Какой код дает ошибку «входная строка не в правильном формате». Эта ошибка обычно появляется, когда вы пытаетесь разобрать какой-то тип на другой. – Mairaj

+0

http://postimg.org/image/6tsi1dxzn/ это ошибка, когда я пытаюсь добавить в "тестирование" – Trya

+0

Хорошо, вам нужно написать вот так lblMessage.Text = "Total number:" + totalA.ToString() ; – Mairaj

ответ

0

Вы должны вызвать метод ToString() при присвоении значения в текстовое поле, потому что ваш являются конкатенациями string and int и присваивает его Text свойства текстового поля или ярлык, который ожидает string.

lblMessage.Text = "Total number: " + totalA.ToString(); 

Вы сравниваете two strings но вы должны сравнить два int variables так что вам нужно преобразовать string to int.

Dim row As GridViewRow 
Dim strAvailable As Integer 
Dim strRedeem As Integer 

For Each row In GridView1.Rows 
    //write ur DB process code here 
    strAvailable = CType(CType(row.Cells(4).FindControl("lblAvailable"),Label).Text,int); 
    strRedeem =CType(CType(row.Cells(5).FindControl("txtRedeem"), TextBox).Text,int); 

    If strRedeem > strAvailable Then 
     lblMessage.Text = "Quantity not enough" 
     btnPrint.Visible = False 

    Else 
     lblMessage.Text = "Enough Quantity" 
     btnPrint.Visible = True 
    End If 
Next 

конца к югу

Примечание я не знаю точный синтаксис VB поэтому, пожалуйста, простите меня за это и исправить его, если он не является правильным.

Смежные вопросы