datagrid的问题!!!

enhanwei 2003-08-22 01:19:56
本人第一次使用datagrid,我向大家请教个问题,我在页面的左边放了个datagrid(2列), 右边放了2个文本框(text) , 这个时候我想点击左边的datagrid的column,然后在2个文本框里出现对应datagrid的数据。不知道该怎么写,请大家帮忙!!(写出具体的方法和步骤)
...全文
31 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
enhanwei 2003-08-22
  • 打赏
  • 举报
回复
xrll兄弟,你有http://218.84.107.5/s.ASPX的代码吗? 写的不错,是的,我的就是那个效果, 如果有的话,大家一起来切磋!! 谢谢了
enhanwei 2003-08-22
  • 打赏
  • 举报
回复
本次问题解决了,谢谢大家的意见,现在结帖!!我采用的是
public void myDataGrid_ItemCommand(object sender,DataGridCommandEventArgs e)
{
int row =e.Item.ItemIndex;
if(e.CommandName=="Select")
{
txtno.Text = myDataGrid.Items[row].Cells[1].Text;
txtname.Text = myDataGrid.Items[row].Cells[2].Text; }
}
sgsh51 2003-08-22
  • 打赏
  • 举报
回复
必杀技:
假设你绑定的DataSet的ID为ds!
TextBox1.Text=ds.Tables[0].Rows[row]["ZID"].ToString();//假设第一例绑定的字段名为ZID
TextBox2.Text= ds.Tables[0].Rows[row]["ID"].ToString();//假设第一例绑定的字段为ID

public void DataGrid1_ItemCommand(object sender,DataGridCommandEventArgs e)
{
int row =e.Item .ItemIndex;
if(e.CommandName=="Select")
{
TextBox1.Text=ds.Tables[0].Rows[row]["ZID"].ToString();//假设第一例绑定的字段名为ZID
TextBox2.Text= ds.Tables[0].Rows[row]["ID"].ToString();//假设第一例绑定的字段为ID
}
}

xrll 2003-08-22
  • 打赏
  • 举报
回复
是这个效果吗?
http://218.84.107.5/s.ASPX
xrll 2003-08-22
  • 打赏
  • 举报
回复
OnSelectedIndexChanged="IndexChange_Command"



void IndexChange_Command(Object sender, EventArgs e)
{
TextBox1.Text=ItemsGrid.SelectedItem.Cells[1].Text
TextBox2.Text= ItemsGrid.SelectedItem.Cells[2].Text
}

enhanwei 2003-08-22
  • 打赏
  • 举报
回复
请大家帮忙看看了!!在线等待中····
enhanwei 2003-08-22
  • 打赏
  • 举报
回复
请大家看看:我用的是 txtno.Text =e.Item.Cells[0].ToString ()或者txtno.Text = myDataGrid.SelectedItem.Cells[0].ToString ()或者txtno.Text =myDataGrid.Items[row].Cell[0].ToString(),但是结果都是 单击select按钮时却在textbox中显示“System.Web.UI.WebControls.TableCell”,而不显示相应的行数据, 这是为什么呢?
guoyan19811021 2003-08-22
  • 打赏
  • 举报
回复

if(e.CommandName=="Select")
{
TextBox1.Text=e.Item.Cell[0].ToString();//第一列的值放入TextBox1
TextBox2.Text=e.Item.Cell[1].ToString();//第二列的值放入TextBox2
}
enhanwei 2003-08-22
  • 打赏
  • 举报
回复
我采用了sgsh51的意见, 的确响应了事件,但是在txtbox文本框中出现的确是:“System.Web.UI.WebControls.TableCell” 可知这个是为什么么??
  • 打赏
  • 举报
回复
获取当前行的不同列的值不就行了!
sgsh51 2003-08-22
  • 打赏
  • 举报
回复
先添加一列选择按钮,假设DataGrid的ID为DataGrid1,两个TextBox的ID分别为TextBox1和TextBox2。

private void InitializeComponent()
{
}
中加入下面这句
this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);

public void DataGrid1_ItemCommand(object sender,DataGridCommandEventArgs e)
{
int row =e.Item .ItemIndex;
if(e.CommandName=="Select")
{
TextBox1.Text=DataGrid1.Items[row].Cell[0].ToString();//第一列的值放入TextBox1
TextBox2.Text=DataGrid1.Items[row].Cell[1].ToString();//第二列的值放入TextBox2
}
}
xrll 2003-08-22
  • 打赏
  • 举报
回复
<%@ Page Language="C#" AutoEventWireup="True"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<html>

<head>

<script runat="server">

ICollection CreateDataSource()
{

// Create sample data for the DataGrid control.
DataTable dt = new DataTable();
DataRow dr;

// Define the columns of the table.
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));

// Populate the table with sample values.
for (int i = 0; i < 9; i++)
{
dr = dt.NewRow();

dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = 1.23 * (i + 1);

dt.Rows.Add(dr);
}

// Create a DataView from the DataTable.
DataView dv = new DataView(dt);
return dv;

}

void Page_Load(Object sender, EventArgs e)
{

// Load sample data only once, when the page is first loaded.
if (!IsPostBack)
{
ItemsGrid.DataSource = CreateDataSource();
ItemsGrid.DataBind();
}

}

void IndexChange_Command(Object sender, EventArgs e)
{

// Display the details of the selected item.
DetailsLabel.Text =
"Item Number: " + ItemsGrid.SelectedItem.Cells[1].Text + "<br>" +
"Description: " + ItemsGrid.SelectedItem.Cells[2].Text + "<br>" +
"Price: $" + ItemsGrid.SelectedItem.Cells[3].Text + "<br>";

}

</script>

</head>

<body>

<form runat="server">

<h3>Declarative BaseDataList SelectedIndexChanged Example</h3>

Select an item:

<br><br>

<asp:DataGrid id="ItemsGrid"
BorderColor="Black"
ShowFooter="False"
CellPadding=3
CellSpacing="0"
HeaderStyle-BackColor="#aaaadd"
OnSelectedIndexChanged="IndexChange_Command"
runat="server">

<Columns>

<asp:ButtonColumn Text="Select"
CommandName="Select"/>

</Columns>

</asp:DataGrid>

<hr>

<table border="1" bordercolor="black" cellspacing="0">

<tr bgcolor="#aaaadd">

<td>

Details

</td>

</tr>

<tr>

<td>

<asp:Label id="DetailsLabel"
runat="server"
Text="No item selected."/>

</td>

</tr>

</table>

</form>

</body>
</html>

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧