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