1

グリッドビューで選択した行からテキストボックスにデータを入力すると、フィールドが空白の場合、テキストボックスに「 」が表示されることに気付きました。

これが私が思いついた解決策です。テキストボックスに追加する前に、各セルをチェックします。

そもそもこの問題を解決するために何か間違ったことをしている、またはこれを処理するためのより良い方法があると感じています。

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{

    //// Get the currently selected row using the SelectedRow property.
    GridViewRow row = GridView1.SelectedRow;

    // Load data from selected row into textboxes
    if (row.Cells[1].Text.Trim() != " ")
    {
        txtEditCust_ID.Text = row.Cells[1].Text.Trim();
    }




}
4

7 に答える 7

7

まだマイナーなハックですが、おそらく&nbsp;. NullDisplayText=" "GridView 列に設定して<asp:BoundField>から、次のような条件を使用できます。

if (String.IsNullOrWhiteSpace(e.Row.Cells[1].Text))
{
    // do something with e.Row
}

この場合、そもそも何もありません&nbsp;

于 2013-11-25T12:42:52.137 に答える
3
row.Cells[1].Text.Trim()

は機能していません&nbsp;。代わりに置き換えてください。

row.Cells[1].Text.Replace("&nbsp;", "")
于 2011-11-08T07:51:51.453 に答える
1

これも機能します。rowDataBoundイベントの下にこのコードを追加します

if (e.Row.Cells[1].Text.Length == 0 || e.Row.Cells[1].Text.Equals("&nbsp;") || e.Row.Cells[1].Text.Equals("") || e.Row.Cells[1].Text.Equals(string.Empty))
                {
                    e.Row.Cells[1].Text = string.Empty;
                }
于 2012-03-02T14:56:04.493 に答える
0

gridview セルの値が空か null かを確認するには、次のようにします。

string decodeCellValue = Context.Server.HtmlDecode(e.Row.Cells[i].Text).Trim();
if(string.IsNullOrEmpty(decodeCellValue))
{
  // Cell value empty or NULL
}
else
{
  // Have some value
}
于 2016-09-02T07:45:07.313 に答える
0

ifステートメントを削除して、次を使用してください。

txtEditCust_ID.Text = row.Cells[1].Text.Trim(); 

トリミングしているので、&nbsp;とにかく削除する必要があります。

于 2010-11-08T14:36:02.607 に答える