请问怎么获取datagridview中编辑状态的单元格的值

请问怎么获取datagridview中编辑状态的单元格的值,第1张

简单说下

默认情况下,用户可以通过在当前 DataGridView 文本框单元格中键入或按 F2 键来编辑该单元格的内容。当满足下面的所有条件时,单元格将进入编辑模式

能对基础数据源进行编辑。

DataGridView 控件已启用。

EditMode 属性值不为 EditProgrammatically。

单元格、行、列和控件的 ReadOnly 属性都设置为 false。

在编辑模式中,用户可以更改单元格的值,并可按 Enter 键提交更改,或按 Esc 键将单元格恢复为其原始值。

可以配置 DataGridView 控件,以使单元格在成为当前单元格时立即进入编辑模式。在此情况下 Enter 和 Esc 键的行为不变,但在提交或恢复值后单元格保持在编辑模式中。也可以配置控件,以使仅当用户在单元格中键入或仅当用户按 F2 键时,单元格才进入编辑模式。最后,可以防止单元格进入编辑模式,除非调用 BeginEdit 方法。

接下来就是DataGridViewCellEndEdit 事件的表演时间(在为当前选定的单元格停止编辑模式时发生)

如下:

protect void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)

{

//我这里假设你需要的数据类型为 string 那么就可以用下面方法或得到当前所编辑单元格

//的值,然后你就可以 *** 作数据库进行数据添加了

string strData = (string)dataGridView1Rows[eRowIndex]Cells[eColumnIndex]Value;

// 更改数据到数据库

// DbClassGetInstance()Add(strData);

}

不知是否能解决您的问题。

您好:

package comexmythandroid;

public class ListEditorAdapter extends BaseAdapter {

private LayoutInflater mInflater;

private List<Map<String, Object>> mData;// 存储的EditText值

public Map<String, String> editorValue = new HashMap<String, String>();//

public ListEditorAdapter(Context context, List<Map<String, Object>> data) {

mData = data;

mInflater = LayoutInflaterfrom(context);

init();

}

// 初始化

private void init() {

editorValueclear();

}

@Override

public int getCount() {

return mDatasize();

}

@Override

public Object getItem(int position) {

return null;

}

@Override

public long getItemId(int position) {

return 0;

}

private Integer index = -1;

@Override

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

ViewHolder holder = null;

// convertView为null的时候初始化convertView。

if (convertView == null) {

holder = new ViewHolder();

convertView = mInflaterinflate(Rlayoutlistview_item, null);

holdername = (TextView) convertView

findViewById(Ridlist_item_name);

holdertitle = (TextView) convertView

findViewById(Ridlist_item_title);

holdervalue = (EditText) convertView

findViewById(Ridlist_item_inputvalue);

holdervaluesetTag(position);

holderuserkey = (TextView) convertViewfindViewById(Riduser_key);

holdervaluesetOnTouchListener(new OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) {

if (eventgetAction() == MotionEventACTION_UP) {

index = (Integer) vgetTag();

}

return false;

}

});

class MyTextWatcher implements TextWatcher {

public MyTextWatcher(ViewHolder holder) {

mHolder = holder;

}

private ViewHolder mHolder;

@Override

public void onTextChanged(CharSequence s, int start,

int before, int count) {

}

@Override

public void beforeTextChanged(CharSequence s, int start,

int count, int after) {

}

@Override

public void afterTextChanged(Editable s) {

if (s != null && !""equals(stoString())) {

int position = (Integer) mHoldervaluegetTag();

mDataget(position)put("list_item_inputvalue",

stoString());// 当EditText数据发生改变的时候存到data变量中

}

}

}

holdervalueaddTextChangedListener(new MyTextWatcher(holder));

convertViewsetTag(holder);

} else {

holder = (ViewHolder) convertViewgetTag();

holdervaluesetTag(position);

}

Object value = mDataget(position)get("list_item_name");

if (value != null) {

holdernamesetText((String) value);

}

value = mDataget(position)get("list_item_title");

if (value != null) {

holdertitlesetText(valuetoString());

}

value = mDataget(position)get("user_key");

if (value != null) {

holderuserkeysetText(valuetoString());

} else {

holderuserkeysetText("-1");

}

value = mDataget(position)get("list_item_inputvalue");

if (value != null && !""equals(value)) {

holdervaluesetText(valuetoString());

} else {

String key = mDataget(position)get("user_key")toString();

String inputValue = editorValueget(key);

holdervaluesetText(inputValue);

}

holdervalueclearFocus();

if (index != -1 && index == position) {

holdervaluerequestFocus();

}

return convertView;

}

public final class ViewHolder {

public TextView name;

public TextView title;

public EditText value;// ListView中的输入

public TextView userkey;// 用来定义的标志性主键,可不用关心

}

}

package comexampleqq;

import androidosBundle;

import androidappActivity;

import androidappAlertDialog;

import androidappDialog;

import androidcontentDialogInterface;

import androidcontentIntent;

import androidviewLayoutInflater;

import androidviewMenu;

import androidviewView;

import androidviewViewOnClickListener;

import androidwidgetButton;

import androidwidgetEditText;

public class MainActivity extends Activity {

private Button btn;

private EditText et;

private EditText et2;

@Override

protected void onCreate(Bundle savedInstanceState) {

superonCreate(savedInstanceState);

setContentView(Rlayoutactivity_main);

et = (EditText)findViewById(RideditText1);

et2 = (EditText)findViewById(RideditText2);

btn = (Button)findViewById(Ridbutton1);

btnsetOnClickListener(new OnClickListener(){

@Override

其实这个问题也比较好处理, 首先我们来看一下在我们长按编辑框的时候, 会出现一个 上下文的菜单,这个菜单中就有 复制,粘贴,所以 从这个角度出发, 我开始寻找 TextView 中 d出上下文的方法, 由于EditText 是从这里继承的, 终于被我找到了

01/

02 Called when a context menu option for the text view is selected Currently

03 this will be one of: {@link androidRid#selectAll},

04 {@link androidRid#startSelectingText}, {@link androidRid#stopSelectingText},

05 {@link androidRid#cut}, {@link androidRid#copy},

06 {@link androidRid#paste}, {@link androidRid#copyUrl},

07 or {@link androidRid#switchInputMethod}

08/

09public boolean onTextContextMenuItem(int id) {

10int selStart = getSelectionStart();

11int selEnd = getSelectionEnd();

12

13if (!isFocused()) {

14selStart = 0;

15selEnd = mTextlength();

16}

17

18int min = Mathmin(selStart, selEnd);

19int max = Mathmax(selStart, selEnd);

20

21if (min < 0) {

22min = 0;

23}

24if (max < 0) {

25max = 0;

26}

27

28ClipboardManager clip = (ClipboardManager)getContext()

29getSystemService(ContextCLIPBOARD_SERVICE);

30

31switch (id) {

32case ID_SELECT_ALL:

33SelectionsetSelection((Spannable) mText, 0,

34mTextlength());

35return true;

36

37case ID_START_SELECTING_TEXT:

38MetaKeyKeyListenerstartSelecting(this, (Spannable) mText);

39return true;

40

41case ID_STOP_SELECTING_TEXT:

42MetaKeyKeyListenerstopSelecting(this, (Spannable) mText);

43SelectionsetSelection((Spannable) mText, getSelectionEnd());

44return true;

45

46case ID_CUT:

47MetaKeyKeyListenerstopSelecting(this, (Spannable) mText);

48

49if (min == max) {

50min = 0;

51max = mTextlength();

52}

53

54clipsetText(mTransformedsubSequence(min, max));

55((Editable) mText)delete(min, max);

56return true;

57

58case ID_COPY:

59MetaKeyKeyListenerstopSelecting(this, (Spannable) mText);

60

61if (min == max) {

62min = 0;

63max = mTextlength();

64}

65

66clipsetText(mTransformedsubSequence(min, max));

67return true;

68

69case ID_PASTE:

70MetaKeyKeyListenerstopSelecting(this, (Spannable) mText);

71

72CharSequence paste = clipgetText();

73

74if (paste != null) {

75SelectionsetSelection((Spannable) mText, max);

76((Editable) mText)replace(min, max, paste);

77}

78

79return true;

80

81case ID_COPY_URL:

82MetaKeyKeyListenerstopSelecting(this, (Spannable) mText);

83

84URLSpan[] urls = ((Spanned) mText)getSpans(min, max,

85URLSpanclass);

86if (urlslength == 1) {

87clipsetText(urls[0]getURL());

88}

89

90return true;

91

92case ID_SWITCH_INPUT_METHOD:

93InputMethodManager imm = InputMethodManagerpeekInstance();

94if (imm != null) {

95immshowInputMethodPicker();

96}

97return true;

98

99case ID_ADD_TO_DICTIONARY:

100String word = getWordForDictionary();

101

102if (word != null) {

103Intent i = new Intent("comandroidsettingsUSER_DICTIONARY_INSERT");

104iputExtra("word", word);

105getContext()startActivity(i);

106}

107

108return true;

109}

110

111return false;

112}

以上就是关于请问怎么获取datagridview中编辑状态的单元格的值全部的内容,包括:请问怎么获取datagridview中编辑状态的单元格的值、android开发中怎么获取listview中多个edittext的值、Android编程如何获取edittext的值,再和一个数比较,新手,求完整Activity代码研等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://www.54852.com/web/9821905.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存