【问题标题】:GridView Header Text in asp.net using asp:BoundField使用 asp:BoundField 在 asp.net 中的 GridView 标题文本
【发布时间】:2014-09-17 05:26:37
【问题描述】:

我想使用 Design 更改 gridview 的标题文本..

<asp:BoundField HeaderText="">

我在 javascript 中创建了一个变量并根据条件初始化变量防御,然后我尝试在此处调用该变量,如下所示:

<asp:BoundField HeaderText="Text Here" DataField="slno" >

这里我使用存储在一个变量名称中的“text here”字符串。我想使用那个变量

我的代码:

 <script type="text/javascript" language="javascript">
 /// <summary>
 /// TO ACCESS COOKIE VARIABLE
 /// </summary>
 var flag;
 var ca = document.cookie.split('=');
 for (var i = 0; i < ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ',') c = c.substring(1);
}
if (c != '' && c != null) {
    flag = c;
}
else {
    flag = 1;
}
//*********************************************
if (flag == 1) {
    var name_lbl = "Hai";
}
else if (flag == 2) {
    var name_lbl = "How are you?";
}
</script>
//------------------------------------------------
</asp:Content>
<form id="form1" runat="server">
</table>

<div style="overflow: auto; height: 99%;" id="divTable">
<table><tr><td>
<label for='field ID'>&nbsp;<b><input type="text" id="kilist_lbl" size="20"         style="border: none; height:20px" readonly/></b>&nbsp;&nbsp;</label> <br />
</td></tr></table>

<asp:GridView ID="gvareadetails" runat="server"  
CssClass="mGrid"  AutoGenerateColumns="False">
<Columns>        
  <%-- here is the problem when assigning ID to headerText label --%>
     <asp:BoundField HeaderText='sss' DataField="slno" >  
    <ItemStyle Width="5%" />
    </asp:BoundField>
 </Columns>
 </asp:GridView>
 </div>
 </form>

 <script type="text/javascript" language="javascript">
 document.getElementById('sss').value = name_lbl;
 </script>

 </asp:Content>

任何人都对如何实现这一点有任何建议..

【问题讨论】:

标签: asp.net gridview data-binding boundfield


【解决方案1】:

不使用js,只需尝试C#代码从网格视图中获取值。

例如:

int name_lbl = gvareadetails.Columns[0][0];

这里Columns[0][0] 给你第一行第一列的值。

【讨论】:

  • 给出错误:无法使用 [] 将索引应用于 System.Web.UI.WebControls.DataControlField 类型的表达式
  • String sss="Hai"; gvareadetails.Columns[0][0].HeaderText=sss;
  • 字符串名称_lbl="hai"; name_lbl=gvareadetails.Columns[0][0];也给出了同样的错误
  • 谢谢沙吉SS;它对我有用,但对您的代码几乎没有修改;我很欣赏你的建议,说“而不是 js,你只需尝试 C# 代码从网格视图中获取值..”谢谢
【解决方案2】:

从网格视图中获取值的 C# 代码:

    string name_lbl;

   protected void Page_Load(object sender, EventArgs e)
   {
    //---------------------------------------------
    /// </summary>
    /// /// <summary>
    /// TO ACCESS COOKIE VARIABLE
    /// </summary>
    string b;

    HttpCookie a = Request.Cookies["LangaugaeObj"];
    if (a != null) b = a.Value; else b = "1";

    if (b == "1")
    {
        name_lbl = "Hai";
    }
    else
    {
        name_lbl = "How are you";
    }
    //---------------------------------------------------
    protected void Button1_Click(object sender, EventArgs e)
    {
      // here I set the variable name to the grid Header
       gvareadetails.Columns[0].HeaderText = name_lbl;

       Report report = new Report();        
       report.areaid = hidStatus.Value.ToString();

       DataSet ds = report.getareawisedetails();

       gvareadetails.DataSource = ds;
       gvareadetails.DataBind();


       ds.Dispose();
       ds = null;
       report = null;
    }

感谢 Shaji SS 的建议。我希望这个答案对那些在 asp.net 中使用 asp:BoundField 动态查找标题文本的人有所帮助。

【讨论】:

    猜你喜欢
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-25
    • 1970-01-01
    相关资源
    最近更新 更多