0

私のSQLServerテーブルでは、列の値(整数)が何もない場合、挿入する値は-1です。テーブルからすべての列の値を選択し、ASP.netグリッドに表示すると、指定した列に-1が表示されます。-1として表示したくありません。「nullまたはnone」のようなもののように表示する必要があります。どうすればこれを入手できますか?

4

4 に答える 4

0

イベントを呼び出してサーバーへの不要なポストバックを回避する代わりに、データベースからDataTableを取得した後、GridViewをDatabind()する前に、次のコードを記述します。

protected void Page_Load(object sender, EventArgs e)
{
    //DataTable dt = GetDataFromDatabase();
    DataTable dt = new DataTable();
    foreach (DataRow row in dt.Rows)
    {
        row["columnName"] = row["columnName"]== "-1" ? "none" : row["columnName"];
    }
}
于 2012-09-27T18:57:12.827 に答える
0

その列をnull可能にし、その列のデフォルト値を設定せず、asp.netページでnullがあるかどうかを確認し、それをbankまたは「none」に置き換えます

于 2012-09-26T17:39:35.300 に答える
0

したがって、更新ステートメントまたは使用しているドライバーのいずれかで、''および何も誤って処理されていない可能性があります。NULLが必要な場合は、NULLを挿入する必要があります。

  • (mytable ID、SomeNum、SomeText)の値(1、''、'hello World')に挿入しますいいえ
  • (mytable ID、SomeNum、SomeText)の値(1、、'hello World')に挿入しますいいえ
  • (mytable ID、SomeNum、SomeText)値(1、NULL、'hello World')に挿入します。

すべて、someNumの値が異なります。1つ目は型変換をスローする可能性があり、2つ目は-1になり、3つ目は探している結果が得られると思います。

ストアドプロシージャを使用している場合、渡されるパラメータが適切に処理されていません。

于 2012-09-26T17:40:11.043 に答える
0

1データベースにnullを挿入できます。(データでは、一致させるためにタイプNullableを使用します)

2 -1を削除し、null値に置き換えることで、Gridviewで情報を処理することもできます。

 void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
  {

    if(e.Row.RowType == DataControlRowType.DataRow)
    {

      e.Row.Cells[1].Text = (e.Row.Cells[1].Text == "-1" ) ? "" :  e.Row.Cells[1].Text;

    }

  }
于 2012-09-26T17:41:41.713 に答える