2012-05-03 4 views
2

net (C#), и когда я пытаюсь привязать свои данные к datagrid, в столбцах отображается несколько нулевых значений (поскольку в некоторых столбцах нет данных). Но я хочу отображать 0 вместо нуля в том же столбце.Обработка нулевых значений в datagrid

как можно? Есть ли выражение?

что-то вроде NullDisplayText = "0" ??

Благодаря

+0

является его DataGrid или .net GridView? –

+0

Да только для данных только – jestges

ответ

2

Лучше вы обрабатываете нулевые значения в запросах Sql, чтобы возврат результата не содержал никаких нулевых значений. Вы можете написать Sql запрос для обработки Null таким образом

Выбрать IsNull (Цена, 0) от аЬса

+0

Спасибо, это решает мою проблему – jestges

2

Там нет такого выражения в DataGrid, Вы можете написать код в ItemDataBound случае и заменить нуль с пользовательским текстом перед привязкой данных к ячейке.

Если вы используете TemplateColumn и привязки данных к ASPX веб-управления, вы можете написать Server Side привязки для замены пустой или нулевое значение со значением по умолчанию

Template Field

<asp:TextBox runat="server" Text='<%#DefaultVal(Eval("FieldName").ToString())% >' ID="txtBox1" ></asp:TextBox> 

стороне сервера свойство

protected string DefaultVal(string val) 
{ 
    return (val == null)?"0":val; 
} 

Для GridView существует свойство для этого объекта NullDisplayText, см. Следующую ссылку для получения подробной информации http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.nulldisplaytext.aspx

1

Вы можете редактировать SQL для преобразования NULL значения нулей с помощью COALESCE

Например:

SELECT COALESCE(potentialNullColumn, 0) FROM table 

Надеется, что это помогает!

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