防止填充" "中的空Gridview数据 进入文本框

Jos*_*cum 6 c# asp.net gridview

我有这个代码,它基于gridview的选定行中的单元格填充文本框

 protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {

        txtComment.Text = row.Cells[14].Text.Trim();

    }
Run Code Online (Sandbox Code Playgroud)

 如果Cell [14]没有数据,它将显示在txtComment文本框中.

 当所选行的单元格中没有数据时,有没有办法防止出现?


编辑我试过这个并没有用

if (row.Cells[14].Text.Trim().Length > 1)
{
    txtComment.Text = row.Cells[14].Text.Trim();
}
else
{
    txtComment.Text = row.Cells[14].Text = "";
}
Run Code Online (Sandbox Code Playgroud)

================================================== =================

这很有效

if (row.Cells[14].Text.Trim()!=" ")
{
    txtComment.Text = row.Cells[14].Text.Trim();
}
else
{
    txtComment.Text = row.Cells[14].Text = "";
}
Run Code Online (Sandbox Code Playgroud)

小智 11

我也有像这样的问题,我发现这也很有用:

txtComment.Text = row.Cells[14].Text.Replace(" ", "");
Run Code Online (Sandbox Code Playgroud)

我希望它可以帮助你:)


Ale*_*x Z 9

使用NullDisplayText =""

     <asp:BoundField DataField="EmployeeName" HeaderText="Name" NullDisplayText=" "/>
Run Code Online (Sandbox Code Playgroud)


小智 5

用这个:

Server.HtmlDecode()
Run Code Online (Sandbox Code Playgroud)

例如:

txtComment.Text = Server.HtmlDecode(row.Cells[14].Text);
Run Code Online (Sandbox Code Playgroud)

它不仅处理空格,还处理其他转换,如与号(&)等。


Cod*_*lla 4

问题是您正在访问 HTML 单元格的 Text 属性而不是数据列。gridview 需要显示&nbsp;在空表格单元格中,以便该表格单元格在渲染到某些浏览器时仍然可见。这是因为 HTML,与您的数据或代码没有任何关系;

你应该做的是这样的:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    DataRow myRow = (DataRow)GridView1.SelectedRow.DataItem;
    txtComment.Text = myRow[14];
}
Run Code Online (Sandbox Code Playgroud)

根据 DataItem 的实际情况,访问数据项属性的格式会略有不同,您可以将其转换为适合您的数据源的对象类型,然后相应地访问其属性。

编辑:我更改了示例代码以演示将 DataItem 属性转换为 DataRow 对象。您需要将其转换为作为数据源提供的任何类型。我希望这一点更清楚。