Gridview动态更改行 [英] Gridview dynamically change rows
本文介绍了Gridview动态更改行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<tr>
<td align="left" class="label" style="height: 23px" valign="top">
<asp:Label ID="lbl_Scale_pointers" runat="server" Text="Scale pointers"></asp:Label></td>
<td align="left" class="label" style="width: 1px; height: 23px;" valign="top">
:</td>
<td align="left" class="control" style="height: 23px">
<%--<cc1:DropDownListControl ID="ddlst_Scale_pointers" runat="server">
</cc1:DropDownListControl>--%>
<asp:DropDownList ID="ddlst_Scale_pointers" runat="server" AutoPostBack="True" Width="80px">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td align ="center" class="label" style="height: 23px" valign="top">
<asp:Label ID="lblcolor" runat="server" Text="Please pick the color for Pointer"></asp:Label>
</td>
</tr>
<tr>
<%--<td align="center" class="label" style="height: 23px" valign="top">
<asp:Label Visible="false" ID="Label1" runat="server" Text=""></asp:Label></td>
<td align="center" class="label" style="width: 1px; height: 23px;" valign="top">
</td>--%>
<td align="center" colspan="3" class="control" style="height: 23px" valign="top" >
<asp:GridView ID="grdvw1" EnableViewState="true" OnRowDataBound="grdvw1_RowDataBound" runat="server" Width="300px" CellSpacing="3" CellPadding ="3">
<Columns>
<asp:TemplateField HeaderText="Pointer No">
<ItemTemplate>
<asp:Label Text="" ID="lblPointerNo" runat="server" >
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:TemplateField HeaderText="Pointer Color">
<ItemTemplate>
<asp:TextBox ID="txtcolor" runat="server" class="color" MaxLength="19" Width="200px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
Protected Sub ddlst_Scale_pointers_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlst_Scale_pointers.SelectedIndexChanged
BindGridview(ddlst_Scale_pointers.SelectedValue)
End Sub
Sub BindGridview(ByVal rownum As Integer)
For i As Integer = 0 To rownum - 1
Dim lblTest As Label = CType(grdvw1.FindControl("lblPointerNo"), Label)
lblTest.Text = i + 1
Next
grdvw1.DataBind()
End sub
选择下拉列表值我需要网格行数
我想动态更改label的值,如果dropdwnlist的值为3,那么lblpionter no应该显示
1
2
3 in 3行所以any1有这个
on selection of dropdownlist value i need number of rows for grid
I want to change the value of label dynamically that is if dropdwnlist has value 3 then the lblpionter no should display
1
2
3 in 3 diff rows so do any1 has the ans for this
推荐答案
你好,
改变gridview源如下。
Hi,
change the gridview source as below.
<columns>
<asp:templatefield headertext="Pointer No" xmlns:asp="#unknown">
<itemtemplate>
<asp:label text='<%#Eval("PointerNo")%>' id="lblPointerNo" runat="server">
</asp:label>
</itemtemplate>
</asp:templatefield>
</columns>
绑定gidview如下。
bind the gidview as below.
Sub BindGridview(ByVal rownum As Integer)
Dim dt as New DataTable
dt.Columns.Add("PointerNo", Type.GetType(string))
dt.AcceptChanges()
For i As Integer = 0 To rownum - 1
dt.Rows.Add((i + 1).ToString())
dt.AcceptChanges()
Next
grdvw1.DataSource = dt
grdvw1.DataBind()
End sub
选项二
保持网格视图源不变。在RowDataBoundEvent中添加以下代码。
option Two
keep the grid view source unchanged. add the below code in RowDataBoundEvent.
Dim lbl as Label = CType(e.Row.FindControl("lblPointerNo"), Label)
If lbl IsNot Nothing THEN
IF e.Row.RowIndex < Convert.ToInt32(ddlst_Scale_pointers.SelectedValue) THEN
lbl.Text = (e.Row.RowIndex + 1).ToString();
End If
End If
希望有帮助
hope it helps
这篇关于Gridview动态更改行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文