Запретить заполнение пустых данных Gridview "" в текстовом поле - PullRequest
6 голосов
/ 17 сентября 2010

У меня есть этот код, который заполняет текстовое поле на основе ячейки в выбранной строке вида сетки

 protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {

        txtComment.Text = row.Cells[14].Text.Trim();

    }

Отображает   в текстовом поле txtComment, если в ячейке [14] нет данных.

Есть ли способ предотвратить появление  , когда в ячейке выбранной строки нет данных?


Редактировать Я попробовал это, и это не сработало

if (row.Cells[14].Text.Trim().Length > 1)
{
    txtComment.Text = row.Cells[14].Text.Trim();
}
else
{
    txtComment.Text = row.Cells[14].Text = "";
}

=============================================== ====================

Это сработало

if (row.Cells[14].Text.Trim()!=" ")
{
    txtComment.Text = row.Cells[14].Text.Trim();
}
else
{
    txtComment.Text = row.Cells[14].Text = "";
}

Ответы [ 5 ]

11 голосов
/ 30 марта 2012

У меня тоже была такая проблема, и я нашел ее тоже полезной:

txtComment.Text = row.Cells[14].Text.Replace(" ", "");

Я надеюсь, что это может помочь вам:)

9 голосов
/ 01 июля 2014

Использовать NullDisplayText = ""

     <asp:BoundField DataField="EmployeeName" HeaderText="Name" NullDisplayText=" "/>
4 голосов
/ 17 сентября 2010

Проблема в том, что вы обращаетесь к свойству Text ячейки HTML, а не к столбцу данных.Вид сетки должен отображать &nbsp; в пустой ячейке таблицы, чтобы эта ячейка таблицы оставалась видимой при отображении в некоторых браузерах.Это из-за HTML и не имеет ничего общего с вашими данными или кодом;

Что вы должны сделать, это примерно так:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    DataRow myRow = (DataRow)GridView1.SelectedRow.DataItem;
    txtComment.Text = myRow[14];
}

Формат доступа к даннымСвойство item будет немного отличаться в зависимости от того, чем на самом деле является этот DataItem, вы можете привести его к типу объекта, который соответствует вашему источнику данных, и затем соответствующим образом получить доступ к его свойствам.код для демонстрации приведения свойства DataItem к объекту DataRow.Вам нужно привести его к любому типу, который вы используете как источник данных.Я надеюсь, что это более понятно.

2 голосов
/ 23 февраля 2017

Используйте это:

Server.HtmlDecode()

Например:

txtComment.Text = Server.HtmlDecode(row.Cells[14].Text);

Он обрабатывает не только пробелы, но и другие преобразования, такие как амперсанды (&) и т. Д.

2 голосов
/ 13 февраля 2013

Нет необходимости писать код, просто добавьте HtmlEncode = "false" в Boundfield.

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