如何在DataGrid中将InnerHtml设置为tablecell

时间:2018-03-23 11:30:46

标签: javascript c# asp.net datagrid textbox

我创建了一个动态数据网格,单元格是文本框,因此可以直接从网格中编辑单元格。

但是当我尝试打印时,Chrome存在一个问题,即没有显示文本框,所以我的所有单元格都是空白的。

如果我将单元格设置为c.Text = li.InnerHtml但是我丢失了文本框,则它有效。如何设置InnerHtml并仍将文本框保留在单元格中?

foreach (TableCell c in e.Item.Cells)
{
    if ((Headers[count].ToUpper().Equals("BUY0_45")) && e.Item.ItemType != ListItemType.Header && e.Item.ItemType != ListItemType.Pager && e.Item.ItemType != ListItemType.Footer && !beendone)
    {
          HtmlGenericControl li = new HtmlGenericControl("li");
          li.InnerHtml = ((DataRowView)e.Item.DataItem).Row["Buy0_45"].ToString();
          //c.Text = li.InnerHtml;
          c.Text = "<input id=\"txtBuy0-45" + ((DataRowView)e.Item.DataItem).Row["ID"].ToString() + "\" style=\"width:50px\" type=\"text\" value=\"" + ((DataRowView)e.Item.DataItem).Row["Buy0_45"].ToString() + "\" onblur=\"UpdateBuyRate('0'," +  ((DataRowView)e.Item.DataItem).Row["ID"].ToString() + ",this.value)\" />";
    } 
}

HTML标记:<input id="txtBuy0-456" style="width:50px" type="text" value="5.0000" onblur="UpdateBuyRate('0',6,this.value)">

0 个答案:

没有答案