怎么遍历并获取GridView中checkBox是否选中以及该项的id求解

怎么遍历并获取GridView中checkBox是否选中以及该项的id求解,第1张

foreach (GridViewRow gvr in thisgvMemberRows){if (((CheckBox)gvrFindControl("CheckBox1"))Checked) shopperIDListAdd(ConvertToInt64(thisgvMemberDataKeys[gvrRowIndex]Value));}// 请注意这个属性 gvMemberDataKeys 你可以在工具的属性栏目中找到它,代表着自定义主键集合,可以多个,用英文输入法状态时的逗号隔开,只有一个字段时,直接用thisgvMemberDataKeys[gvrRowIndex]Value就可以取得了,如果有多个字段,则使用thisgvMemberDataKeys[gvrRowIndex]Values[index]来获取

(1)input的checked是一个html属性,checked的值没有意义,只不过各个版本对HTML的属性值写法规定不同才有了checked="value"这种写法,只要有checked就表示页面在加载的时候checkbox被选中,没有写就页面加载的时候checkbox就不被选中。

(2)同一个页面中用js获取checkbox是否选中:documentgetElementById("checkboxId")checked

(3)jsp中在提交时,浏览器会把选中的CheckBox的Value值,添加到一个String数组当中。在Servlet(jsp)中用

String[]

chk

=

requestgetParameterValues("CheckBox的名字");就能可到所有被选择的CheckBox值,如果没有选择则数组:chk

为null。

自己测试下就知道了

这是我之前解决这个问题写的东西,直接贴上来,你看下吧。

    private List<Boolean> originalFoundedDevicesState; //有一个保存状态的list

给listview绑定adapter:

private CheckAdapter foundedDevices;

private ListView foundedList;

foundedDevices=new CheckAdapter(AddingDevicesActthis,originalFoundedDevices,originalFoundedDevicesState);

foundedListsetAdapter(foundedDevices);

foundedListsetItemsCanFocus(false);foundedListsetChoiceMode(ListViewCHOICE_MODE_MULTIPLE);

      foundedListsetOnItemClickListener(new OnItemClickListener(){

       public void onItemClick(AdapterView<> parent, View view, int position,

long id) {

// TODO Auto-generated method stub

} });

2自己为checkbox复写个adapter:

class CheckAdapter extends BaseAdapter{

Context mContext;

List<Device> mData;

List<Boolean>status;

LayoutInflater mInflater;

CheckBox checkBox;

  HashMap<Integer,View> lmap=new HashMap<Integer,View>();

public CheckAdapter(Context context,List<Device> data,List<Boolean> DeviceStatus)

{

  mInflater=LayoutInflaterfrom(context);

  mData=data;

  status=DeviceStatus;  

}

public int getCount() {

// TODO Auto-generated method stub

return mDatasize();

}

public Object getItem(int position) {

// TODO Auto-generated method stub

return mDataget(position);

}

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

public View getView(final int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

if(lmapget(position)==null)

{

convertView=mInflaterinflate(Rlayoutchild,parent, false);

checkBox=(CheckBox)convertViewfindViewById(Riddevices);

convertViewsetTag(checkBox);

}

else

{

   checkBox=(CheckBox)convertViewgetTag();

}

checkBoxsetId(position);

checkBoxsetChecked(statusget(position));

checkBoxsetText(mDataget(position)toString());

checkBoxsetOnCheckedChangeListener(new OnCheckedChangeListener(){

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

// TODO Auto-generated method stub

statusset(buttonViewgetId(), isChecked);

notifyDataSetChanged();

}

});

return convertView;

}

3最后可以根据其是否被选中状态判断某项是否被选中,并提取id:

for(num1=0;num1<originalFoundedDevicesStatesize();num1++)

{

if(originalFoundedDevicesStateget(num1))

  finalPairedDevicesadd(new Device(originalFoundedDevicesget(num1)getName(), originalFoundedDevicesget(num1)getAddress()));

}

建议使用 linq 查询,例如:

var queryRows = from DataGridViewRow row in dataGridViewRows

where (bool)rowCell["CheckBoxColumnName"]Value

select row;

1 

设置一个隐藏的input

当鼠标点这行 或者这个checkbox时 将该checkbox的ID放进input

2 利用jquery获取该行checkbox的第一个元素 并取得其值

前台:<input id="cbx" type="checkbox" class="radio" name="cbx" value='<%#Eval("Id")%>' />

后台: protected string GetCheckedBoxValue()

{

return stringIsNullOrEmpty(RequestForm["cbx"]) null : RequestForm["cbx"];

}

这样就能取到前面的VALUE值了,如果有多个的话,值是用','分开的

$(function () {

$("#Button1")click(function () {

var inputs = documentgetElementsByTagName("input");

var strs = "";

for (var i = 0; i < inputslength; i++) {

var obj = inputs[i];

if (objtype == "checkbox") {

if (objchecked == true) {

strs += objid + ",";

}

}

} alert(strs);

});

<div>

<input type="checkbox" id="c1" />

<input type="checkbox" id="c2" />

<input type="checkbox" id="c3" />

<input type="checkbox" id="c4" />

</div>

常用的就两种:

$("input")attr("checked") == "checked" or "undefined"

$("input")prop("checked") == true or false

可以参考网页链接

以上就是关于怎么遍历并获取GridView中checkBox是否选中以及该项的id求解全部的内容,包括:怎么遍历并获取GridView中checkBox是否选中以及该项的id求解、JSP中如何获取checkbox的状态(选中或非选中)、如何遍历并获取listview中checkbox是否选中以及该项的id等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9270738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存