如何使用自动生成的列从 GridView 的特定单元格中获取值
How to Take Value from a specific cell of GridView with autogenerated Columns
gridview与数据库绑定,里面有20列。现在我想做的是 select 单击“编辑”按钮时其中一些列的值。请帮忙,因为我不知道该怎么做。
<asp:GridView ID="gv_Data" runat = "server" Font-Size="XX-Small"BackColor="#DEBA84"
BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3"
CellSpacing="2" onrowcommand="gv_Data_RowCommand">
<Columns>
<asp:ButtonField ButtonType="Button"
CommandName = "EditRow"
Text="Edit"/>
</Columns>
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FFF1D4" />
<SortedAscendingHeaderStyle BackColor="#B95C30" />
<SortedDescendingCellStyle BackColor="#F1E5CE" />
<SortedDescendingHeaderStyle BackColor="#93451F" />
</asp:GridView>
您必须首先确定单击了编辑按钮的行。
您将不得不使用 RowCommand
事件来处理所有这些,这里是您可以在单击编辑时识别行的方法。
GridViewRow gvr = (GridViewRow)(((ImageButton)e.CommandSource).NamingContainer);
现在您有了行,像这样获取行索引,这将帮助您获取该特定行的列详细信息:
int RowIndex = gvr.RowIndex;
获得行索引后,现在是时候使用该索引从列中获取详细信息了:
string cId = row.Cells[1].Text;
您可以在这些大括号之间使用索引或列名来获取所需的列数据。这里,row
是我们之前在此答案中获得的 GridViewRow
。
这应该可以让您了解如何进行此操作。
您可以在编辑按钮事件中使用 foreach 循环
foreach(GridViewRow gvr in gv_Data){
TextBox t = gvr.Cells[0].FindControl("TextField1") as TextBox;
t.Text = "abc";
DropDownList ddl = gvr.Cells[1].FindControl("DropDownList1") as DropDownList;
ddl.SelectedValue = 100;
}
gridview与数据库绑定,里面有20列。现在我想做的是 select 单击“编辑”按钮时其中一些列的值。请帮忙,因为我不知道该怎么做。
<asp:GridView ID="gv_Data" runat = "server" Font-Size="XX-Small"BackColor="#DEBA84"
BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3"
CellSpacing="2" onrowcommand="gv_Data_RowCommand">
<Columns>
<asp:ButtonField ButtonType="Button"
CommandName = "EditRow"
Text="Edit"/>
</Columns>
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FFF1D4" />
<SortedAscendingHeaderStyle BackColor="#B95C30" />
<SortedDescendingCellStyle BackColor="#F1E5CE" />
<SortedDescendingHeaderStyle BackColor="#93451F" />
</asp:GridView>
您必须首先确定单击了编辑按钮的行。
您将不得不使用 RowCommand
事件来处理所有这些,这里是您可以在单击编辑时识别行的方法。
GridViewRow gvr = (GridViewRow)(((ImageButton)e.CommandSource).NamingContainer);
现在您有了行,像这样获取行索引,这将帮助您获取该特定行的列详细信息:
int RowIndex = gvr.RowIndex;
获得行索引后,现在是时候使用该索引从列中获取详细信息了:
string cId = row.Cells[1].Text;
您可以在这些大括号之间使用索引或列名来获取所需的列数据。这里,row
是我们之前在此答案中获得的 GridViewRow
。
这应该可以让您了解如何进行此操作。
您可以在编辑按钮事件中使用 foreach 循环
foreach(GridViewRow gvr in gv_Data){
TextBox t = gvr.Cells[0].FindControl("TextField1") as TextBox;
t.Text = "abc";
DropDownList ddl = gvr.Cells[1].FindControl("DropDownList1") as DropDownList;
ddl.SelectedValue = 100;
}