0

我是 asp.net 的新手,我有一个特殊问题,

我必须从一些数据库值加载一个gridview ...

我的gridview中有2列,一列是标签,一列是文本框..

对于标签中的特殊值,文本框应该是多行的..对于其他情况,文本模式应该是单行...

有人可以帮我解决这个问题吗?

PS:如果我的问题不清楚,请告诉我,我可以解释

4

3 回答 3

3

您可以使用GridView.RowDataBound 事件

然后找到值,如果匹配,您可以更改属性TextMode

protected void GVRowDataBound(object sender, GridViewRowEventArgs e)
        {
            var txb= (TextBox) e.Row.FindControl("TextBoxID"); 

        }
于 2012-05-02T17:04:50.017 回答
2

您说的是新的,所以如果您不知道如何将绑定字段转换为模板字段,请按照以下教程进行操作:

教程

一旦你转换为模板文件,然后在 RowDataBound 上这样做:

void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
foreach (GridViewRow gRow in GridView1.Rows)
{
TextBox myfieldtxt = gRow.FindControl("yourTxtBxID") as TextBox;
Label myLable = gRow.FindControl("yourLableID") as Label;

if(myLable.Text.Equals("XYZ"))
{
  myfieldtxt.TextMode = TextBoxMode.MultiLine;
}
else
{
 myfieldtxt.TextMode = TextBoxMode.Single;
}
}
}
于 2012-05-02T17:56:14.420 回答
0

你可以这样试试:

<asp:TemplateField>
    <ItemTemplate>
        <asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" Text='Sometext'
            TextMode="MultiLine"></asp:TextBox>
    </ItemTemplate>
</asp:TemplateField>
于 2012-05-02T16:49:18.787 回答