Primo Chalice Ответов: 1

Как использовать trim для datagrid в C#?


Привет,

Я получаю ответ.
'object' does not contain a definition for 'Trim' and no extension method 'Trim' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)
ошибка в этой строке:

SourcePageFile = SourceFolder + "\\pg-" + Convert.ToDecimal(DataGridView1.Rows[irow].Cells[0].Value.Trim(' ')) - 1 + ".jpg";


Это преобразованный код из Visual Basic, который выглядит следующим образом:
SourcePageFile = SourceFolder & "\pg-" & CInt(Trim(DataGridView1.Rows(irow).Cells(0).Value)) - 1 & ".jpg"


Как мне успешно выполнить синтаксис, чтобы избавиться от этой ошибки?

Пожалуйста помочь.

С уважением
Аман Чаурасия

Что я уже пробовал:

Я попробовал следующее:

SourcePageFile = SourceFolder + "\\pg-" + Convert.ToDecimal(DataGridView1.Rows[irow].Cells[0].Value.Trim(' ')) - 1 + ".jpg"


SourcePageFile = SourceFolder + "\\pg-" + Convert.ToInt32(DataGridView1.Rows[irow].Cells[0].Value.Trim(' ')) - 1 + ".jpg"


SourcePageFile = SourceFolder + "\\pg-" + Convert.ToUInt32(DataGridView1.Rows[irow].Cells[0].Value.Trim(' ')) - 1 + ".jpg"


SourcePageFile = SourceFolder + "\\pg-" + Convert.ToString(DataGridView1.Rows[irow].Cells[0].Value.Trim(' ')) - 1 + ".jpg"

1 Ответов

Рейтинг:
5

F-ES Sitecore

Вы можете только "обрезать" строковую переменную, ошибка, которую вы получаете, предполагает, что "значение" является объектом. То, как вы справитесь с этим, зависит от того, что находится в камере. Решение может быть таким

SourcePageFile = SourceFolder + "\\pg-" + Convert.ToDecimal(DataGridView1.Rows[irow].Cells[0].Value.ToString().Trim(' ')) - 1 + ".jpg"

или
SourcePageFile = SourceFolder + "\\pg-" + Convert.ToDecimal(((string)DataGridView1.Rows[irow].Cells[0].Value).Trim(' ')) - 1 + ".jpg"

Кроме того, преобразование в десятичную дробь-это не то же самое, что преобразование в int, что и оригинал. Ваш код также очень хрупок и подвержен возникновению исключения, если значения не соответствуют ожидаемым. Вы должны использовать int.Попробуйте проанализировать, а не конвертировать.ToDecimal. Google для использования.


Primo Chalice

Ни один из них не сработал. Я перепробовал все, но ничего не вышло. Теперь только отделка подчеркнута красным цветом. Когда я пишу Vaue.ToString(), то весь синтаксис показывает ошибку. Пожалуйста помочь.

F-ES Sitecore

Попробовать это

SourcePageFile = SourceFolder + "\\pg-" + (конвертировать.ToDecimal(dataGridView1.Rows[irow].Ячейки[0].Значение.ToString().Trim(' ')) - 1).Метод toString() + ".в формате JPG";

Primo Chalice

Это сработало :Д. Ты потрясающая :) :).