
decimal sum1 = decimalParse(GridView1Rows[0]Cells[2]TextToString());
获取第一行第三列的数据 如果你想获得整行的数据,
建议你先获取该行的主键,然后再到数据库中查询
有很多种方式,因为gridview已经读出数据库的数据,所以我们只需要获取gridview中的数据即可,不用再连数据库了!
1启用选择按钮。
2datakeysName中填入主键字段名。
3双击GRIDVIEW控件
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
TextBox1Text=GridView1SelectedRowCells[0]Text;//所选行的第一列的内容(注意:gridview中按钮所占的列,也要算到列数中)
TextBox2Text = GridView1SelectedRowCells[1]Text;//所选行的第二列的内容
//thisTextBox3Text=GridView1SelectedValueToString();//获取这行的主键数据,只要主键数据获得了,想怎样怎样!
}
你在GridView的属性中有个datakey看见没?在那里面填上你想获得值的属性,一般是主键,按钮点击的方法中写GridView1SelectedDataKey,这个就是你想要的值,根据这个值读出其他想要的值
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
GridViewRow row = GridView1Rows[eNewSelectedIndex];
if (rowRowState == DataControlRowStateSelected)
{
thisLabel3Text = rowCells[1]TextToString();
thistxt1Text ="你好";
}
}
但txt1中都没有值,好象都没有触发这事件,为什么?
msdn中说,当单某一行的选择BUTTON后,触发GridView1_SelectedIndexChanging事件,因此,你可以在GridView中加入选择BUTTON,然后用
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
thisResponseWrite(thisGridView1Rows[eNewSelectedIndex]Cells[4]Text);
}
我用的是vs2005帮你测试的,2005用的是DataGridView,是GridView的进化版,应该是差不多的,我在DataGridView上添加了一个RowEnter事件,也是楼主说的RowCommand事件相似,接着我添加了如下的语句;
private void rowEnter(object sender, DataGridViewCellEventArgs e)
{
DataGridView temp = (DataGridView)sender;
if (eRowIndex>=1)
MessageBoxShow(tempRows[eRowIndex-1]Cells[eColumnIndex]FormattedValueToString ());
}
用途很明显,是当你选择一行中的某格时,会显示上一行相应格的数据,也就是楼主说获取上一行的数据了,要获取上一行的所有数据,对cell进行相应的处理就可以了,唯一的问题就是DataGridView有的功能GridView可能会没有~~~
写完答案才发现,不清楚楼主是在什么平台上写那方面的程序,我上面介绍的是c#的~~~
这个哇,你在加一列,这一列是按钮,俺们显示名称就为选择,然后按钮的commandName值设置为selected,
dataKeyNames 设置成你的数据主键,然后在gridview的 Rowcommand事件里面通过 eCommandArgument获得主键值,然后数据库取数据
另一种就是启用选择行按钮(面板设置CommandField中),直接SelectedIndexChanged中去取值
<asp:GridView ID="GridView1 runat="server" AutoGenerateColumns="False"
Height="69px" Width="402px"
-- 注意这里 ------------
DataKeyNames="WS_MAID" >
---------------------
<Columns>
<asp:HyperLinkField DataTextField="WS_MailObject" HeaderText="主题" />
<asp:BoundField DataField="WS_Name" HeaderText="收件人" />
<asp:BoundField DataField="WS_MailSendDate" HeaderText="日期" />
<asp:TemplateField HeaderText="全选">
<ItemTemplate>
<asp:CheckBox ID="xuanze" runat="server" />
</ItemTemplate>
<HeaderTemplate>
<asp:CheckBox ID="quanxuan" runat="server" Text="全选" />
</HeaderTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
后台代码:
for(int rowIndex = 0; rowIndex < GridView1RowsCount; rowIndex++)
{
CheckBox ch = (CheckBox)GridView1Rows[rowIndex]Cells[5]FindControl("xuanze");
if (chChecked)
{
string 邮件ID值 = GridView1DataKeys[rowIndex]ValueToString();
ResponseWrite(邮件ID值);//邮件ID即为 WS_MAID,如何得到这个WS_MAID
}
}
试一下吧,有问题留言
以上就是关于如何将gridview中某行数据全部的内容,包括:如何将gridview中某行数据、请问如何获得GridView选中行的每一列的信息、gridview如何通过按钮取得当前行的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)