一般我们在使用ComboBox时,会先给其添加items,其中的items通常又会是一个枚举。
此处举例用:
public enum Criterion{Pass,
Fail,
UpLimit,
DownLimit}再生成一个枚举型的变量 private Criterion m_eCriterion
然后再根据其下拉的选项来使用,单独的ComboBox有SelectedIndex属性,获取所选的枚举值用 m_eCriterion = (Criterion)combox1SelectedIndex;即可实现。
但是当这个ComboBox在Datagridview控件中,情况就不一样了。可以通过datagridview1Rows[i]cell[0]ValueToString()来得到这个所选的字符串,却得不到其SelectedIndex值,最初我想用(ComboBox)datagridview1Rows[i]cell[0]来进行强制转换,但没有成功,没办法只好把上面得到的字符串再进行Switch,在每个case中进行枚举型的赋值,我想这肯定不是一个好的方案,请各位大虾出出主意。
------解决方案--------------------------------------------------------
combox cb = (ComboBox)datagridview1Rows[i]cell[0]findControl(combox控件明)
int index=cbselectIndex;
好像是这样的吧,你试试
------解决方案--------------------------------------------------------
设置DataGridViewComboBoxColumn的DisplayMember和ValueMember分别为显示的字符串和对应的枚举值。
------解决方案--------------------------------------------------------帮顶
------解决方案--------------------------------------------------------
学习,帮顶!
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------帮顶。
------解决方案--------------------------------------------------------
combox不是有SelectedText和SelectedItem这个属性吗,既然在datagrid里面你试试看。
------解决方案--------------------------------------------------------帮顶
------解决方案--------------------------------------------------------學習了幫頂~
------解决方案--------------------------------------------------------
其中column1为DataGridViewComboBoxColumnName,这样子就ok了
vb语句中end
select是结束select
case
语句。
select
case
语句,根据表达式的值,来决定执行几组语句中的其中之一。
语法:
说明
如果
testexpression
匹配某个
case
expressionlist
表达式,
则在
case
子句之后,直到下一个
case
子句的
statements
会被执行;如果是最后一个子句,则会执行到
end
select。然后控制权会转移到
end
select
之后的语句。如果
testexpression
匹配一个以上的
case
子句中的
expressionlist
表达式,则只有第一个匹配后面的语句会被执行。
case
else
子句用于指明
elsestatements,当
testexpression
和所有的
case
子句中的
expressionlist
都不匹配时,则会执行这些语句。虽然不是必要的,但是在
select
case
区块中,最好还是加上
case
else
语句来处理不可预见的
testexpression
值。如果没有
case
expressionlist
匹配
testexpression,而且也没有
case
else
语句,则程序会从
end
select
之后的语句继续执行。
select
case
语句示例
本示例使用
select
case
语句来判断变量的值。示例中第二个
case
子句包含了变量值,故只有此区块内的语句会被完成到。
dim
number
number
=
8
'
设置变量初值。
select
case
number
'
判断
number
的值。
case
1
to
5
'
number
的值在
1
到
5
之间,包含1
和
5
。
debugprint
"between
1
and
5"
'
下一个
case
子句是本示例中唯一判断值为
true
的子句。
case
6,
7,
8
'
number
的值在
6
到
8
之间。
debugprint
"between
6
and
8"
case
9
到
10
'
number
的值为
9
或
10。
debugprint
"greater
than
8"
case
else
'
其他数值。
debugprint
"not
between
1
and
10"
end
select
select中要先赋值,submit后,获取select的值再组合到sql语句中。
js也是获取select中selectindex的值,然后submit到一个asp中,asprequest到这个值,再结合到sql中,并执行。
这是唯一的方法。
这个无法用 HTML 去读取,需要用到 JavaScript。代码如下:
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<select id="select1">
<option value="0">== 请选择 ==</option>
<option value="1">苹果</option>
<option value="2">香蕉</option>
<option value="3">桃子</option>
</select>
<p id="result"></p>
<script>
documentgetElementById('select1')onchange = function() {
var getText = function(elm) {
if (typeof elminnerText == 'string') {
return elminnerText;
}
return elmtextContent;
};
var value = thisvalue,
index = thisselectedIndex,
text = getText(thisoptions[index]);
documentgetElementById('result')innerHTML = '' + value + ' ' + text;
}
</script>
</body>
</html>
jQuery获取Select元素,并设置的 Text和Value:
$("#select_id ")get(0)selectedIndex=1; //设置Select索引值为1的项选中
$("#select_id ")val(4); // 设置Select的Value值为4的项选中
$("#select_id option[text='jQuery']")attr("selected", true); //设置Select的Text值为jQuery的项选中
jQuery添加/删除Select元素的Option项:
$("#select_id")append("<option value='Value'>Text</option>"); //为Select追加一个Option(下拉项)
$("#select_id")prepend("<option value='0'>请选择</option>"); //为Select插入一个Option(第一个位置)
$("#select_id option:last")remove(); //删除Select中索引值最大Option(最后一个)
$("#select_id option[index='0']")remove(); //删除Select中索引值为0的Option(第一个)
$("#select_id option[value='3']")remove(); //删除Select中Value='3'的Option
$("#select_id option[text='4']")remove(); //删除Select中Text='4'的Option
三级分类 <select name="thirdLevel" id="thirdLevel"
onchange="getFourthLevel()">
<option value="0" id="thirdOption">
请选择三级分类
</option>
</select>
</div>
四级分类:
<select name="fourthLevelId" id="fourthLevelId">
<option value="0" id="fourthOption">
请选择四级分类
</option>
</select>
</div>
if($("#thirdLevel")val()!=0){
$("#thirdLevel option[value!=0]")remove();
}
if($("#fourthLevelId")val()!=0){
$("#fourthLevelId option[value!=0]")remove();
}//这个表示:假如希望当选择选择第三类时:如果第四类中有数据则删除,如果没有数据第四类的商品中的为默认值。
获取Select :
获取select 选中的 text :
$("#ddlRegType")find("option:selected")text();
获取select选中的 value:
$("#ddlRegType ")val();
获取select选中的索引:
$("#ddlRegType ")get(0)selectedIndex;
设置select:
设置select 选中的索引:
$("#ddlRegType ")get(0)selectedIndex=index;//index为索引值
以上就是关于datagridview控件中的DataGridViewComboBoxColumn使用时怎么获取到下拉选项的SelectedIndex值全部的内容,包括:datagridview控件中的DataGridViewComboBoxColumn使用时怎么获取到下拉选项的SelectedIndex值、select 语句中带index什么意思、asp中如何获取当前页面的select的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)