Изменить значение столбца DataTable - PullRequest
0 голосов
/ 16 июля 2011

У меня есть одна DataTable, например:

Attribute          Percentage      ReferenceAmount        TaxAmount
------------       ------------     ----------------      -----------
  Sales              5.00             5000                  250
  VAT                2.00             250                   5
  Discount            0                 0                   100

Я хочу связать эту DataTable с одним GridView.Но в GridView я не хочу отображать 0. Вместо нуля я просто хочу оставить эту ячейку пустой.Я не хочу отображать любую другую вещь, если она содержит ноль.Как заменить EmptyString вместо нуля в DataTable?

Ответы [ 3 ]

2 голосов
/ 16 июля 2011

Я отвечаю на вопрос поздно, я знаю, что ответ уже принят.Но в принятом ответе вы перебираете строки после привязки данных и затем устанавливаете значение.

Было бы лучше заменить значение во время привязки данных.Это преодолеет дополнительные издержки итерации строк сетки.

Вы можете использовать событие RowDataBound GridView.Вот полный код ..

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
    System.Data.DataRow dr = ((System.Data.DataRowView)e.Row.DataItem).Row;

    if (dr["Percentage"].ToString() == "0")
    {
        ((Label)e.Row.FindControl("lblPercentage")).Text = "";
        //this is template field
        //OR---If you don't use template field you  can do like..--
        e.Row.Cells[1].Text  = "";
    }      
}
}
1 голос
/ 16 июля 2011

Следующий метод GridView DataBound будет проходить по каждой ячейке в GridView и заменять «0» пустой строкой:

        protected void GridView1_DataBound(object sender, EventArgs e)
        {
            foreach (GridViewRow row in GridView1.Rows)
            {
                for (int i = 0; i < row.Cells.Count - 1; i++)
                {
                    if (row.Cells[i].Text == "0")
                    {
                        row.Cells[i].Text = "";
                    }
                }
            }
        }
1 голос
/ 16 июля 2011

Вы можете легко добавить свойство PercentageDescription как String

 public string PercentageDescription
 {
    return Percentage == 0 ? " " : Percentage.ToString();
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...