怎样获得DataGrid中的ID号
有个按纽,不在DataGrid中
DataGrid中有一列选择框
点击按纽以后我想得到选种的ID,再进行单个或者批量的删除等操作
就象ASP里面那样,先谢谢了
问题点数:20、回复次数:13Top
1 楼jerry_yuan(jerry)回复于 2005-08-04 10:54:13 得分 0
在datagrid中加一个checkbox,当点按钮时遍历datagrid的行,判断checkbox是否选中,然后做相应的处理Top
2 楼lxg13(翔子)回复于 2005-08-04 10:55:12 得分 0
public int[] SelectedIndexs
{
get
{
int cnt=DataGrid1.Items.Count;
if(cnt>0)
{
int[] items=new int[cnt];
int i=0;
foreach(DataGridItem item in DataGrid1.Items)
{
CheckBox chk=(CheckBox)(item.Cells[0].FindControl("ChkSel"));
if(chk.Checked)
{
items[i]=(item.ItemIndex);
i++;
}
}
if(i==0)
return null;
if(i<cnt)
{
int[] rst=new int[i];
Array.Copy(items,rst,i);
return rst;
}
return items;
}
return null;
}
}Top
3 楼regedit362451dennis(烨儿)回复于 2005-08-04 10:58:33 得分 0
关注!!!
================================================================
此帖通过csdn小助手回复。
CSDN小助手是使用vb.net(开源)编写的CSDN论坛脱机“外挂”,她能够在
脱离IE的情况下使用Csdn论坛。程序只加载最核心的数据,所以显示更
快,产生的流量更小。
下载地址:http://qqwwee.com/csdn.rar
================================================================
Top
4 楼leon168(www.doaspx.com [Asp.Net电子书资料下载])回复于 2005-08-04 11:00:41 得分 0
说错了说错了,我是要得到哪个checkbox所对应那行的数据库中ID号Top
5 楼lxg13(翔子)回复于 2005-08-04 11:11:18 得分 0
知道了index自然就知道了ID
ID=DataGrid1.DataKeys[index]Top
6 楼jimu8130(火箭的未来在哪里?)回复于 2005-08-04 11:16:32 得分 10
http://dev.csdn.net/develop/article/21/21585.shtm
看这篇文章咯Top
7 楼leon168(www.doaspx.com [Asp.Net电子书资料下载])回复于 2005-08-04 11:16:33 得分 0
但如果我DataGrid中没有先设置DataKeys呢,它也能找到吗???
int cnt=VIP_DataGrid.Items.Count;
if(cnt>0)
{
int[] items=new int[cnt];
int i=0;
foreach(DataGridItem item in VIP_DataGrid.Items)
{
CheckBox chk=(CheckBox)(item.Cells[0].FindControl("cnkExport"));
if(chk.Checked)
{
items[i]=(item.ItemIndex);
i++;
}
Label1.Text=items[i].ToString();
}
}
这是我现在按照你的改法该的,出现if(chk.Checked)
错误,未将对象实例化Top
8 楼wingnal(清淡天和)回复于 2005-08-04 11:24:06 得分 0
>>leon168(www.doaspx.com [Asp.Net电子书资料下载]) 2005-8-4 11:16:00
但如果我DataGrid中没有先设置DataKeys呢,它也能找到吗???
你的datagrid中总的有主键或者自增键之类的吧,至少也的有一列或者几列这样的数据,通过它们能在数据库中去检索出唯一数据,不然你怎么删除?
Top
9 楼leon168(www.doaspx.com [Asp.Net电子书资料下载])回复于 2005-08-04 11:26:57 得分 0
明白了DataGrid其实就是物理表的映象,只要物理表中有主键它这就会有,是这个意思吗
我现在还没取到ID,报错,还请大家继续帮帮我Top
10 楼flying310(林林)回复于 2005-08-04 11:30:57 得分 10
有两种方法,一种是设置datakey,另一种是做不显示的绑定列。Top
11 楼leon168(www.doaspx.com [Asp.Net电子书资料下载])回复于 2005-08-04 11:46:38 得分 0
int cnt=VIP_DataGrid.Items.Count;
if(cnt>0)
{
int[] items=new int[cnt];
int i=0;
foreach(DataGridItem item in VIP_DataGrid.Items)
{
CheckBox chk=(CheckBox)(item.Cells[0].FindControl("cnkExport"));
if(chk.Checked)
{
items[i]=(item.ItemIndex);
i++;
}
Label1.Text=items[i].ToString();
}
}
这是我现在按照你的改法该的,出现if(chk.Checked)
错误,未将对象实例化
Top
12 楼egonzou(落网的鱼)回复于 2005-08-04 11:50:30 得分 0
也就是说chk的值没有取到,没有找到checkbox控件Top
13 楼leon168(www.doaspx.com [Asp.Net电子书资料下载])回复于 2005-08-04 11:56:12 得分 0
怎么样才可以找到呢,我的按纽不是放在DataGrid中的
选择框是放在datagrid中Top




