我是asp.net的新手,我有一个特殊问题,
我必须从某些数据库值加载gridview ...
我的gridview中有两列标签,另一列是文本框..
对于标签中的特殊值,文本框应该是多行的...对于其他情况,textmode应该是单行...
有人可以帮我解决这个问题吗?
PS:如果我的问题不明确,请告诉我,我可以解释一下
答案 0 :(得分:3)
您可以使用GridView.RowDataBound Event
然后找到值,如果匹配,您可以更改属性TextMode
protected void GVRowDataBound(object sender, GridViewRowEventArgs e)
{
var txb= (TextBox) e.Row.FindControl("TextBoxID");
}
答案 1 :(得分: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;
}
}
}
答案 2 :(得分:0)
您可以尝试这种方式:
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" Text='Sometext'
TextMode="MultiLine"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>